<?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>Tue, 14 Jul 2026 07:59:55 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</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>Калькулятор PSQI (качество сна)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-psqi-kachestvo-sna/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:59:13 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5668</guid>

					<description><![CDATA[<p>Рассчитать индекс качества сна (PSQI) онлайн Режим сна за последний месяц Во сколько вы обычно ложились спать? Типичное время, когда вы ложитесь в кровать с намерением заснуть. Если время менялось, укажите среднее. Сколько минут обычно уходило на засыпание? Примерное время от момента, когда вы легли, до момента, когда заснули. Не нужна точность до минуты &#8212; [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-psqi-kachestvo-sna/">Калькулятор PSQI (качество сна)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5668" class="elementor elementor-5668" 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;
}
.section-label {
    font-size: 16px;
    font-weight: bold;
    color: #0457B5;
    margin: 24px 0 8px;
    padding-bottom: 6px;
    border-bottom: 2px solid #e8f0fb;
}
.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;
}
.component-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    margin: 3px 0;
    background: #f9f9f9;
    border-radius: 4px;
    font-size: 14px;
}
.component-row .comp-name {
    flex: 1;
}
.component-row .comp-score {
    font-weight: bold;
    color: #0457B5;
    min-width: 40px;
    text-align: right;
}
.score-bar-wrap {
    margin: 16px 0;
}
.score-bar-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
}
.score-bar {
    height: 18px;
    background: linear-gradient(to right, #4CAF50 0%, #8BC34A 24%, #FFC107 48%, #FF9800 71%, #e53935 100%);
    border-radius: 9px;
    position: relative;
}
.score-marker {
    position: absolute;
    top: -6px;
    width: 30px;
    height: 30px;
    background: white;
    border: 3px solid #0457B5;
    border-radius: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 11px;
    color: #0457B5;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.interpretation {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 8px 0;
    padding: 6px 10px;
    border-radius: 4px;
}
.interp-good { color: #2E7D32; background: #e8f5e9; }
.interp-moderate { color: #F57F17; background: #FFF8E1; }
.interp-bad { color: #E65100; background: #FFF3E0; }
.interp-severe { color: #C62828; background: #FFEBEE; }
.fact-block {
    background: #f9f9f9;
    border-left: 4px solid #0457B5;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
.fact-block-warn {
    background: #fff8e1;
    border-left: 4px solid #ffc107;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать индекс качества сна (PSQI) онлайн</h2>

    <div class="calculator-container">

        <div class="section-label">Режим сна за последний месяц</div>

        <div class="calculator-input">
            <label for="bedtime">Во сколько вы обычно ложились спать?</label>
            <input type="time" id="bedtime" value="23:00">
            <div class="input-hint">
                Типичное время, когда вы ложитесь в кровать с намерением заснуть. Если время менялось, укажите среднее.
            </div>
        </div>

        <div class="calculator-input">
            <label for="minutesToSleep">Сколько минут обычно уходило на засыпание?</label>
            <input type="number" id="minutesToSleep" min="0" max="300" step="1" placeholder="Например: 20">
            <div class="input-hint">
                Примерное время от момента, когда вы легли, до момента, когда заснули. Не нужна точность до минуты - достаточно общей оценки.
            </div>
        </div>

        <div class="calculator-input">
            <label for="waketime">Во сколько вы обычно вставали утром?</label>
            <input type="time" id="waketime" value="07:00">
            <div class="input-hint">
                Время окончательного подъема, а не первого пробуждения.
            </div>
        </div>

        <div class="calculator-input">
            <label for="hoursOfSleep">Сколько часов вы реально спали за ночь?</label>
            <input type="number" id="hoursOfSleep" min="0" max="24" step="0.5" placeholder="Например: 6.5">
            <div class="input-hint">
                Время чистого сна, без учета периодов бодрствования в постели. Обычно это меньше, чем разница между отходом ко сну и подъемом.
            </div>
        </div>

        <div class="section-label">Нарушения сна за последний месяц</div>
        <p style="font-size:14px;color:#555;margin:4px 0 12px;">Как часто за последний месяц у вас возникали следующие проблемы?</p>

        <div class="calculator-input">
            <label for="q5a">Не могли заснуть в течение 30 минут</label>
            <select id="q5a">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5b">Просыпались посреди ночи или слишком рано</label>
            <select id="q5b">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5c">Приходилось вставать в туалет</label>
            <select id="q5c">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5d">Не могли свободно дышать</label>
            <select id="q5d">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5e">Громко кашляли или храпели</label>
            <select id="q5e">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5f">Мерзли во время сна</label>
            <select id="q5f">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5g">Было слишком жарко</label>
            <select id="q5g">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5h">Снились плохие или тревожные сны</label>
            <select id="q5h">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5i">Испытывали боль</label>
            <select id="q5i">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="q5j">Другие причины нарушения сна (если были)</label>
            <select id="q5j">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="section-label">Общая оценка и дневное самочувствие</div>

        <div class="calculator-input">
            <label for="quality">Как вы оцениваете качество своего сна в целом?</label>
            <select id="quality">
                <option value="0">Очень хорошее</option>
                <option value="1">Достаточно хорошее</option>
                <option value="2">Достаточно плохое</option>
                <option value="3">Очень плохое</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="medication">Как часто вы принимали лекарства для сна (рецептурные или безрецептурные)?</label>
            <select id="medication">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="awake">Как часто вам было трудно бодрствовать днем (за рулем, на работе, во время еды)?</label>
            <select id="awake">
                <option value="0">Ни разу за месяц</option>
                <option value="1">Реже одного раза в неделю</option>
                <option value="2">Один-два раза в неделю</option>
                <option value="3">Три раза в неделю и чаще</option>
            </select>
        </div>

        <div class="calculator-input">
            <label for="enthusiasm">Насколько трудно было сохранять интерес и мотивацию к повседневным делам?</label>
            <select id="enthusiasm">
                <option value="0">Совсем не трудно</option>
                <option value="1">Немного трудно</option>
                <option value="2">Довольно трудно</option>
                <option value="3">Очень трудно</option>
            </select>
        </div>

        <button class="calculate-btn" onclick="calculatePSQI()">Рассчитать индекс PSQI</button>

        <div class="result" id="result">
            <h3>Результат: Питтсбургский индекс качества сна</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="score-bar-wrap">
                <div class="score-bar-labels">
                    <span>0 - хорошо</span>
                    <span>5</span>
                    <span>10</span>
                    <span>15</span>
                    <span>21 - плохо</span>
                </div>
                <div class="score-bar" id="scoreBar">
                    <div class="score-marker" id="scoreMarker"></div>
                </div>
            </div>

            <div class="dose-row-primary">
                <strong>Общий балл PSQI:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                <span> из 21</span>
            </div>

            <div class="interpretation" id="interpBlock"></div>

            <div style="margin-top:14px;">
                <strong style="color:#0457B5;">Компоненты (каждый от 0 до 3):</strong>
            </div>

            <div class="component-row">
                <span class="comp-name">1. Субъективное качество сна</span>
                <span class="comp-score" id="comp1">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">2. Латентность сна (время засыпания)</span>
                <span class="comp-score" id="comp2">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">3. Продолжительность сна</span>
                <span class="comp-score" id="comp3">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">4. Эффективность сна</span>
                <span class="comp-score" id="comp4">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">5. Нарушения сна</span>
                <span class="comp-score" id="comp5">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">6. Прием снотворных</span>
                <span class="comp-score" id="comp6">-</span>
            </div>
            <div class="component-row">
                <span class="comp-name">7. Дневная дисфункция</span>
                <span class="comp-score" id="comp7">-</span>
            </div>

            <div class="dose-row" id="efficiencyRow" style="margin-top:12px;">
                <strong>Эффективность сна:</strong>
                <span class="dose-highlight" id="effValue">-</span>%
                <span id="effNote" style="font-size:13px;color:#555;"></span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Внимание:</strong> PSQI - инструмент скрининга, а не диагностики. Высокий балл указывает на проблемы со сном, но не ставит конкретный диагноз. Для обследования обратитесь к врачу-сомнологу или терапевту.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>
    </div>

    <h3>Что такое Питтсбургский индекс качества сна</h3>
    <p>PSQI (Pittsburgh Sleep Quality Index) - стандартизированный опросник для оценки качества сна. Его разработал Дэниел Бьюсси с коллегами в Питтсбургском университете и опубликовал в 1989 году в журнале Psychiatry Research. С тех пор опросник стал одним из самых цитируемых инструментов в медицине сна.</p>

    <p>Опросник охватывает последний месяц и оценивает сон по семи компонентам: субъективное качество, скорость засыпания, продолжительность, эффективность, нарушения, прием снотворных и дневное самочувствие. Каждый компонент получает от 0 до 3 баллов. Общий балл - от 0 до 21. Чем выше число, тем хуже качество сна.</p>

    <p>Главная граница - 5 баллов. Люди с результатом выше 5 по данным оригинальной валидации попадают в категорию нарушенного сна с чувствительностью около 90% и специфичностью около 87%. Это означает, что опросник редко пропускает реальные проблемы, но иногда может завысить тревогу у здоровых людей.</p>

    <h3>Как работает калькулятор PSQI</h3>
    <p>Вы отвечаете на вопросы о своем типичном сне за последний месяц. Калькулятор собирает ответы, рассчитывает семь компонентов по стандартному алгоритму и выводит общий балл с интерпретацией.</p>

    <p>В результатах видно, какой именно аспект сна вносит наибольший вклад в итоговый балл. Если, к примеру, компонент "латентность сна" набрал 3 балла, а остальные - по 0-1, значит, основная проблема в длительном засыпании, а не в качестве сна в целом. Такая детализация полезна при разговоре с врачом.</p>

    <p>Калькулятор дополнительно показывает эффективность сна в процентах - отношение реального времени сна ко времени в постели. Норма - выше 85%. Низкая эффективность часто указывает на то, что человек проводит в кровати гораздо больше времени, чем фактически спит.</p>

    <h3>Семь компонентов PSQI</h3>

    <p><strong>Компонент 1 - субъективное качество сна.</strong> Прямой вопрос: как вы оцениваете свой сон? Четыре варианта от "очень хорошее" до "очень плохое". Ответ напрямую становится баллом компонента.</p>

    <p><strong>Компонент 2 - латентность сна.</strong> Складывает два показателя: время засыпания в минутах и частоту ситуаций, когда не удавалось заснуть за 30 минут. Сумма пересчитывается в балл от 0 до 3. Компонент отражает, легко ли вам перейти от бодрствования ко сну.</p>

    <p><strong>Компонент 3 - продолжительность сна.</strong> Количество реальных часов сна. Больше 7 часов - 0 баллов, 6-7 часов - 1 балл, 5-6 часов - 2 балла, меньше 5 - 3 балла.</p>

    <p><strong>Компонент 4 - эффективность сна.</strong> Процент времени, которое вы действительно спали, от общего времени в постели. Рассчитывается по формуле: (часы сна / часы в постели) x 100. Выше 85% - 0 баллов, 75-84% - 1, 65-74% - 2, ниже 65% - 3.</p>

    <p><strong>Компонент 5 - нарушения сна.</strong> Суммирует частоту девяти типичных проблем: ночные пробуждения, походы в туалет, затрудненное дыхание, храп, ощущение холода или жары, кошмары, боль и другие причины. Каждая проблема оценена от 0 до 3, общая сумма пересчитывается в итоговый балл компонента.</p>

    <p><strong>Компонент 6 - прием снотворных.</strong> Частота использования любых препаратов для сна за последний месяц. Ответ напрямую дает балл.</p>

    <p><strong>Компонент 7 - дневная дисфункция.</strong> Два вопроса: как часто вам было трудно бодрствовать днем и насколько сложно было поддерживать мотивацию. Сумма ответов пересчитывается в балл от 0 до 3.</p>

    <h3>Интерпретация результатов PSQI</h3>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Балл PSQI</th>
                <th>Интерпретация</th>
                <th>Что это значит</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>0-5</td>
                <td>Хорошее качество сна</td>
                <td>Сон не требует коррекции. Большинство компонентов на нуле или близко к нему</td>
            </tr>
            <tr>
                <td>6-10</td>
                <td>Умеренные нарушения</td>
                <td>Есть отдельные проблемы - долгое засыпание, короткий сон или частые пробуждения. Стоит обратить внимание на гигиену сна</td>
            </tr>
            <tr>
                <td>11-15</td>
                <td>Выраженные нарушения</td>
                <td>Несколько компонентов набрали высокие баллы. Сон ощутимо влияет на дневное самочувствие. Рекомендуется обратиться к врачу</td>
            </tr>
            <tr>
                <td>16-21</td>
                <td>Тяжелые нарушения</td>
                <td>Серьезные проблемы по большинству компонентов. Необходима консультация сомнолога или психотерапевта</td>
            </tr>
        </tbody>
    </table>

    <p>Граница в 5 баллов - самая изученная. Ее используют в клинических исследованиях и рекомендациях по всему миру. Более детальная разбивка (6-10, 11-15, 16-21) помогает оценить тяжесть, но строго стандартизированных границ для этих диапазонов нет - они ориентировочные.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Полный расчет PSQI по всем семи компонентам без ручной обработки - достаточно ответить на вопросы и нажать одну кнопку</li>
        <li>Визуальная шкала с маркером балла на градиенте от зеленого к красному - сразу видно, где вы находитесь</li>
        <li>Покомпонентная разбивка - показывает, какой аспект сна наиболее проблемный, что полезно при обсуждении с врачом</li>
        <li>Автоматический расчет эффективности сна в процентах - параметр, который сложно посчитать в уме при нестандартном графике</li>
        <li>Подсказки к каждому вопросу помогают понять, что именно нужно оценивать</li>
    </ul>

    <h3>Когда нужен врач, а не калькулятор</h3>
    <p>PSQI фиксирует субъективное качество сна. Он не заменяет обследование и не выявляет конкретные расстройства. Вот ситуации, когда нужна очная консультация.</p>

    <ul>
        <li>Храп с остановками дыхания во сне - возможный признак апноэ, которое требует полисомнографии</li>
        <li>Хроническая бессонница дольше трех месяцев - может потребоваться когнитивно-поведенческая терапия (КПТ-И), которую подбирает специалист</li>
        <li>Непреодолимая дневная сонливость, внезапные приступы засыпания - повод исключить нарколепсию и другие гиперсомнии</li>
        <li>Необычное поведение во сне: разговоры, ходьба, агрессивные движения - парасомнии, которые иногда сигнализируют о неврологических проблемах</li>
        <li>Неприятные ощущения в ногах по вечерам, мешающие заснуть - классический симптом синдрома беспокойных ног</li>
        <li>Выраженная тревога или депрессия, связанная с бессонницей - здесь нужен психотерапевт или психиатр, а не просто коррекция гигиены сна</li>
        <li>Прием снотворных чаще трех раз в неделю на протяжении месяца и более - стоит пересмотреть лечение с врачом</li>
    </ul>

    <h2>Факты и мнения о качестве сна и индексе PSQI</h2>

    <h3>Мнение специалиста</h3>
    <div class="fact-block">
        <p><strong>Роман Бузунов</strong>, доктор медицинских наук, профессор, президент Российского общества сомнологов, неоднократно отмечал, что субъективная и объективная оценка сна часто расходятся. Человек может считать, что спит нормально, хотя объективные данные показывают частые микропробуждения и низкую эффективность сна. Верно и обратное: люди с хроническим дефицитом сна привыкают к своему состоянию и перестают воспринимать усталость как симптом. По мнению Бузунова, стандартизированные опросники вроде PSQI помогают вывести проблему из "слепой зоны" и дать врачу отправную точку для обследования. Главное - не подменять опросником диагностику: высокий балл PSQI не означает бессонницу, а низкий не гарантирует отсутствие апноэ.</p>
    </div>

    <h3>Исторический факт</h3>
    <div class="fact-block">
        <p>Питтсбургский индекс качества сна появился из практической необходимости. В 1980-е годы в Питтсбургском университете Дэниел Бьюсси работал с пациентами психиатрических клиник и столкнулся с проблемой: не существовало надежного инструмента, который бы оценивал субъективное качество сна по нескольким параметрам одновременно. Имевшиеся опросники измеряли либо количество сна, либо дневную сонливость, но не связывали одно с другим. Бьюсси потратил около трех лет на разработку и проверку PSQI, тестируя его на пациентах с депрессией, нарушениями сна и здоровых добровольцах. Публикация 1989 года с тех пор набрала более 25 000 цитирований в научной литературе, а опросник переведен более чем на 50 языков.</p>
    </div>

    <h3>Современные исследования</h3>
    <div class="fact-block">
        <p>Крупный метаанализ, объединивший данные десятков исследований с участием тысяч человек, подтвердил, что балл PSQI выше 5 устойчиво связан с повышенным риском сердечно-сосудистых заболеваний, ожирения и депрессии. Связь сохранялась после поправок на возраст, пол и сопутствующие болезни. Отдельные работы показали, что ухудшение качества сна по PSQI коррелирует со снижением когнитивных функций у людей старше 60 лет, а у студентов - с падением академической успеваемости. Эти результаты укрепили позицию PSQI как универсального скринингового инструмента, который может применяться далеко за пределами клиник сна - от кардиологии до педагогики.</p>
    </div>

    <h3>Важное уточнение</h3>
    <div class="fact-block-warn">
        <p>Результаты этого калькулятора носят ознакомительный характер. PSQI - инструмент предварительной оценки, а не диагностический тест. Он не заменяет консультацию врача-сомнолога, невролога, терапевта или психиатра. Если вы подозреваете у себя нарушения сна, обратитесь к специалисту. Только врач может поставить диагноз, назначить полисомнографию или другие обследования и подобрать лечение. Не принимайте решения о приеме снотворных на основании одного лишь балла PSQI.</p>
    </div>

</div>

<script>
function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function getHoursInBed(bedtime, waketime) {
    var parts1 = bedtime.split(':');
    var parts2 = waketime.split(':');
    var bedH = parseInt(parts1[0], 10);
    var bedM = parseInt(parts1[1], 10);
    var wakeH = parseInt(parts2[0], 10);
    var wakeM = parseInt(parts2[1], 10);

    var bedMinutes = bedH * 60 + bedM;
    var wakeMinutes = wakeH * 60 + wakeM;

    if (wakeMinutes <= bedMinutes) {
        wakeMinutes += 24 * 60;
    }

    return (wakeMinutes - bedMinutes) / 60;
}

function calculatePSQI() {
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');
    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var bedtime = document.getElementById('bedtime').value;
    var waketime = document.getElementById('waketime').value;
    var minutesToSleep = parseFloat(document.getElementById('minutesToSleep').value);
    var hoursOfSleep = parseFloat(document.getElementById('hoursOfSleep').value);

    if (!bedtime || !waketime) {
        showError('Укажите время отхода ко сну и время подъема утром.');
        return;
    }
    if (isNaN(minutesToSleep) || minutesToSleep < 0 || minutesToSleep > 300) {
        showError('Укажите время засыпания от 0 до 300 минут.');
        return;
    }
    if (isNaN(hoursOfSleep) || hoursOfSleep < 0 || hoursOfSleep > 24) {
        showError('Укажите количество часов реального сна от 0 до 24.');
        return;
    }

    var q5a = parseInt(document.getElementById('q5a').value, 10);
    var q5b = parseInt(document.getElementById('q5b').value, 10);
    var q5c = parseInt(document.getElementById('q5c').value, 10);
    var q5d = parseInt(document.getElementById('q5d').value, 10);
    var q5e = parseInt(document.getElementById('q5e').value, 10);
    var q5f = parseInt(document.getElementById('q5f').value, 10);
    var q5g = parseInt(document.getElementById('q5g').value, 10);
    var q5h = parseInt(document.getElementById('q5h').value, 10);
    var q5i = parseInt(document.getElementById('q5i').value, 10);
    var q5j = parseInt(document.getElementById('q5j').value, 10);
    var quality = parseInt(document.getElementById('quality').value, 10);
    var medication = parseInt(document.getElementById('medication').value, 10);
    var awake = parseInt(document.getElementById('awake').value, 10);
    var enthusiasm = parseInt(document.getElementById('enthusiasm').value, 10);

    // Компонент 1: Субъективное качество сна
    var comp1 = quality;

    // Компонент 2: Латентность сна
    var q2Score;
    if (minutesToSleep <= 15) q2Score = 0;
    else if (minutesToSleep <= 30) q2Score = 1;
    else if (minutesToSleep <= 60) q2Score = 2;
    else q2Score = 3;

    var latencySum = q2Score + q5a;
    var comp2;
    if (latencySum === 0) comp2 = 0;
    else if (latencySum <= 2) comp2 = 1;
    else if (latencySum <= 4) comp2 = 2;
    else comp2 = 3;

    // Компонент 3: Продолжительность сна
    var comp3;
    if (hoursOfSleep > 7) comp3 = 0;
    else if (hoursOfSleep >= 6) comp3 = 1;
    else if (hoursOfSleep >= 5) comp3 = 2;
    else comp3 = 3;

    // Компонент 4: Эффективность сна
    var hoursInBed = getHoursInBed(bedtime, waketime);
    var efficiency = hoursInBed > 0 ? (hoursOfSleep / hoursInBed) * 100 : 0;
    if (efficiency > 100) efficiency = 100;

    var comp4;
    if (efficiency >= 85) comp4 = 0;
    else if (efficiency >= 75) comp4 = 1;
    else if (efficiency >= 65) comp4 = 2;
    else comp4 = 3;

    // Компонент 5: Нарушения сна
    var disturbSum = q5b + q5c + q5d + q5e + q5f + q5g + q5h + q5i + q5j;
    var comp5;
    if (disturbSum === 0) comp5 = 0;
    else if (disturbSum <= 9) comp5 = 1;
    else if (disturbSum <= 18) comp5 = 2;
    else comp5 = 3;

    // Компонент 6: Прием снотворных
    var comp6 = medication;

    // Компонент 7: Дневная дисфункция
    var daySum = awake + enthusiasm;
    var comp7;
    if (daySum === 0) comp7 = 0;
    else if (daySum <= 2) comp7 = 1;
    else if (daySum <= 4) comp7 = 2;
    else comp7 = 3;

    // Общий балл
    var totalScore = comp1 + comp2 + comp3 + comp4 + comp5 + comp6 + comp7;

    // Параметры расчета
    document.getElementById('resultParams').innerHTML =
        '<span>Время в постели: <strong>' + hoursInBed.toFixed(1) + ' ч</strong></span>' +
        '<span>Реальный сон: <strong>' + hoursOfSleep.toFixed(1) + ' ч</strong></span>' +
        '<span>Засыпание: <strong>' + minutesToSleep + ' мин</strong></span>';

    // Компоненты
    document.getElementById('comp1').textContent = comp1 + ' / 3';
    document.getElementById('comp2').textContent = comp2 + ' / 3';
    document.getElementById('comp3').textContent = comp3 + ' / 3';
    document.getElementById('comp4').textContent = comp4 + ' / 3';
    document.getElementById('comp5').textContent = comp5 + ' / 3';
    document.getElementById('comp6').textContent = comp6 + ' / 3';
    document.getElementById('comp7').textContent = comp7 + ' / 3';

    // Общий балл
    document.getElementById('totalScore').textContent = totalScore;

    // Шкала
    var percent = (totalScore / 21) * 100;
    document.getElementById('scoreMarker').style.left = percent + '%';
    document.getElementById('scoreMarker').textContent = totalScore;

    // Эффективность
    document.getElementById('effValue').textContent = efficiency.toFixed(1);
    var effNote = '';
    if (efficiency >= 85) effNote = ' (норма - выше 85%)';
    else if (efficiency >= 75) effNote = ' (немного ниже нормы в 85%)';
    else effNote = ' (значительно ниже нормы в 85%)';
    document.getElementById('effNote').textContent = effNote;

    // Интерпретация
    var interpEl = document.getElementById('interpBlock');
    if (totalScore <= 5) {
        interpEl.textContent = 'Хорошее качество сна';
        interpEl.className = 'interpretation interp-good';
    } else if (totalScore <= 10) {
        interpEl.textContent = 'Умеренные нарушения сна';
        interpEl.className = 'interpretation interp-moderate';
    } else if (totalScore <= 15) {
        interpEl.textContent = 'Выраженные нарушения сна';
        interpEl.className = 'interpretation interp-bad';
    } else {
        interpEl.textContent = 'Тяжелые нарушения сна';
        interpEl.className = 'interpretation interp-severe';
    }

    // Пояснение
    var note = '';
    if (totalScore <= 5) {
        note = 'Ваш сон в пределах нормы по всем основным параметрам. Продолжайте соблюдать режим и гигиену сна. Если отдельные компоненты набрали 2-3 балла, обратите на них внимание - даже при хорошем общем результате локальные проблемы могут нарастать.';
    } else if (totalScore <= 10) {
        note = 'Качество сна снижено. Посмотрите, какие компоненты набрали больше всего баллов, и начните с них. Часто помогают базовые меры: фиксированное время подъема, отказ от экранов за час до сна, прохладная спальня, ограничение кофеина после полудня.';
    } else if (totalScore <= 15) {
        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-psqi-kachestvo-sna/">Калькулятор PSQI (качество сна)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор расхода калорий при тренировках</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-rashoda-kalorij-pri-trenirovkah/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:48:17 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5663</guid>

					<description><![CDATA[<p>Рассчитать расход калорий при тренировке онлайн Вес (кг): Укажите текущий вес в килограммах. Чем больше масса тела, тем больше энергии расходуется на одно и то же упражнение. Вид тренировки: Выберите вид активностиХодьба спокойная (4 км/ч)Ходьба быстрая (6 км/ч)Скандинавская ходьбаБег трусцой (8 км/ч)Бег средний (10 км/ч)Бег быстрый (12+ км/ч) Велосипед прогулочный (15 км/ч)Велосипед умеренный (20 км/ч)Велосипед [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-rashoda-kalorij-pri-trenirovkah/">Калькулятор расхода калорий при тренировках</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5663" class="elementor elementor-5663" 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;
}
.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;
}
.meta-block {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-family: monospace;
    font-size: 14px;
    line-height: 1.8;
    user-select: all;
}
.meta-block b {
    color: #0457B5;
}
.expert-block {
    background-color: #f9f9f9;
    border-left: 4px solid #0457B5;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
.expert-block p {
    margin: 6px 0;
}
.expert-name {
    font-weight: bold;
    color: #333;
}
.fact-block {
    background-color: #fff8e1;
    border-left: 4px solid #ffc107;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
.research-block {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
.disclaimer-block {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 14px 16px;
    margin: 16px 0;
    border-radius: 0 6px 6px 0;
}
</style>

<div class="content-section">
        <h2>Рассчитать расход калорий при тренировке онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="weight">
                Вес (кг):
            </label>
            <input type="number" id="weight" min="30" max="250"
                   step="0.5" placeholder="Например: 70">
            <div class="input-hint">
                Укажите текущий вес в килограммах. Чем больше масса тела, тем больше энергии расходуется на одно и то же упражнение.
            </div>
        </div>

        <div class="calculator-input">
            <label for="activity">
                Вид тренировки:
            </label>
            <select id="activity">
                <option value="" disabled selected>Выберите вид активности</option>
                <optgroup label="Ходьба и бег">
                    <option value="3.0">Ходьба спокойная (4 км/ч)</option>
                    <option value="4.3">Ходьба быстрая (6 км/ч)</option>
                    <option value="4.8">Скандинавская ходьба</option>
                    <option value="8.3">Бег трусцой (8 км/ч)</option>
                    <option value="10.0">Бег средний (10 км/ч)</option>
                    <option value="11.8">Бег быстрый (12+ км/ч)</option>
                </optgroup>
                <optgroup label="Велоспорт">
                    <option value="5.8">Велосипед прогулочный (15 км/ч)</option>
                    <option value="6.8">Велосипед умеренный (20 км/ч)</option>
                    <option value="10.0">Велосипед интенсивный (25+ км/ч)</option>
                    <option value="7.0">Велотренажер (средняя нагрузка)</option>
                </optgroup>
                <optgroup label="Плавание">
                    <option value="6.0">Плавание (умеренный темп)</option>
                    <option value="9.8">Плавание (быстрый темп)</option>
                    <option value="5.3">Аквааэробика</option>
                </optgroup>
                <optgroup label="Силовые и функциональные">
                    <option value="5.0">Силовая тренировка (умеренная)</option>
                    <option value="6.0">Силовая тренировка (интенсивная)</option>
                    <option value="8.0">Кроссфит</option>
                    <option value="8.0">ВИИТ (HIIT)</option>
                    <option value="8.0">Круговая тренировка</option>
                </optgroup>
                <optgroup label="Кардио и аэробика">
                    <option value="6.5">Аэробика</option>
                    <option value="8.5">Степ-аэробика</option>
                    <option value="4.5">Танцы (умеренные)</option>
                    <option value="7.0">Танцы (интенсивные)</option>
                    <option value="12.3">Скакалка</option>
                    <option value="6.5">Зумба</option>
                </optgroup>
                <optgroup label="Тренажеры">
                    <option value="5.0">Эллиптический тренажер</option>
                    <option value="7.0">Гребной тренажер</option>
                    <option value="9.0">Степпер</option>
                </optgroup>
                <optgroup label="Спорт">
                    <option value="7.3">Теннис</option>
                    <option value="6.5">Баскетбол</option>
                    <option value="7.0">Футбол</option>
                    <option value="4.0">Волейбол</option>
                    <option value="7.8">Бокс (спарринг)</option>
                    <option value="6.0">Борьба</option>
                </optgroup>
                <optgroup label="Другое">
                    <option value="3.0">Йога</option>
                    <option value="3.5">Пилатес</option>
                    <option value="2.5">Растяжка</option>
                    <option value="9.0">Беговые лыжи</option>
                    <option value="5.3">Горные лыжи</option>
                </optgroup>
            </select>
            <div class="input-hint">
                MET-коэффициент подставится автоматически. Если вашей активности нет в списке, выберите ближайший аналог по интенсивности.
            </div>
        </div>

        <div class="calculator-input">
            <label for="duration">
                Продолжительность (минуты):
            </label>
            <input type="number" id="duration" min="1" max="600"
                   step="1" placeholder="Например: 45">
            <div class="input-hint">
                Время чистой нагрузки без учета разминки и заминки. Если хотите посчитать их отдельно, запустите калькулятор повторно с другим видом активности.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateCalories()">
            Рассчитать калории
        </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="totalCalories">-</span>
                &nbsp;ккал
            </div>

            <div class="dose-row">
                <strong>Расход в минуту:</strong><br>
                <span class="dose-highlight" id="calPerMin">-</span>
                &nbsp;ккал/мин
            </div>

            <div class="dose-row">
                <strong>Расход за час (при том же темпе):</strong><br>
                <span class="dose-highlight" id="calPerHour">-</span>
                &nbsp;ккал/ч
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Расчет основан на стандартной формуле с использованием MET-коэффициентов (Compendium of Physical Activities). Фактический расход зависит от интенсивности, техники выполнения, температуры окружающей среды, уровня подготовки и индивидуальных особенностей метаболизма. Погрешность может составлять 15-20% в обе стороны.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица расхода калорий по видам тренировок</h3>
    <p>Ориентировочные значения для человека весом 70 кг. Рассчитаны по стандартной формуле: ккал = MET x 3,5 x вес(кг) x время(мин) / 200. Реальные цифры могут отличаться в зависимости от интенсивности и техники.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Вид активности</th>
                <th>MET</th>
                <th>30 мин (ккал)</th>
                <th>60 мин (ккал)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Ходьба (4 км/ч)</td>
                <td>3,0</td>
                <td>110</td>
                <td>221</td>
            </tr>
            <tr>
                <td>Йога</td>
                <td>3,0</td>
                <td>110</td>
                <td>221</td>
            </tr>
            <tr>
                <td>Силовая (умеренная)</td>
                <td>5,0</td>
                <td>184</td>
                <td>368</td>
            </tr>
            <tr>
                <td>Плавание (умеренно)</td>
                <td>6,0</td>
                <td>221</td>
                <td>441</td>
            </tr>
            <tr>
                <td>Велосипед (20 км/ч)</td>
                <td>6,8</td>
                <td>250</td>
                <td>500</td>
            </tr>
            <tr>
                <td>Бег трусцой (8 км/ч)</td>
                <td>8,3</td>
                <td>305</td>
                <td>611</td>
            </tr>
            <tr>
                <td>ВИИТ (HIIT)</td>
                <td>8,0</td>
                <td>294</td>
                <td>588</td>
            </tr>
            <tr>
                <td>Бег (10 км/ч)</td>
                <td>10,0</td>
                <td>368</td>
                <td>735</td>
            </tr>
            <tr>
                <td>Скакалка</td>
                <td>12,3</td>
                <td>452</td>
                <td>905</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое MET</h3>
    <p>MET (Metabolic Equivalent of Task) - коэффициент метаболического эквивалента. Он показывает, во сколько раз энергозатраты при нагрузке превышают расход в покое. Один MET - это расход кислорода в состоянии полного покоя: 3,5 мл на килограмм массы тела в минуту.</p>

    <p>Простой ориентир: если упражнение имеет MET = 6, организм тратит в 6 раз больше энергии, чем лежа на диване. Ходьба - около 3 MET, бег трусцой - 8, спринт - 15 и выше. Система MET позволяет сравнивать совершенно разные виды нагрузки между собой: плавание с бегом, йогу с кроссфитом, танцы с велосипедом.</p>

    <p>Коэффициенты берутся из Compendium of Physical Activities - справочника, который составляют и обновляют исследователи из Университета Аризоны с 1993 года. Последняя редакция включает MET-значения для более чем 800 видов активности - от работы в саду до профессиональных тренировок.</p>

    <h3>Как работает калькулятор расхода калорий</h3>
    <p>Калькулятор принимает три параметра: вес, вид активности и продолжительность тренировки. По виду активности подставляется MET-коэффициент, и дальше расчет идет по стандартной формуле спортивной физиологии.</p>

    <p>На выходе - три числа. Общий расход за тренировку - главный результат. Расход в минуту - помогает сравнить разные активности при одинаковом весе. Расход за час - удобен для планирования длинных тренировок или сравнения с рекомендациями по питанию. Калькулятор показывает так называемые "гросс-калории" - полные энергозатраты, включая базовый обмен за время тренировки.</p>

    <h3>Формула расчета калорий при тренировке</h3>
    <p>Расчет строится на стандартной физиологической формуле, которую используют в спортивной медицине и фитнес-индустрии.</p>

    <p><strong>Основная формула:</strong></p>
    <ul>
        <li>Калории (ккал) = MET x 3,5 x вес (кг) x время (мин) / 200</li>
        <li>MET - коэффициент метаболического эквивалента для выбранного вида активности</li>
        <li>3,5 - потребление кислорода в покое (мл/кг/мин), принятое за 1 MET</li>
        <li>200 - коэффициент пересчета из объема кислорода в килокалории</li>
    </ul>

    <p><strong>Производные:</strong></p>
    <ul>
        <li>Калории в минуту = MET x 3,5 x вес (кг) / 200</li>
        <li>Калории за час = калории в минуту x 60</li>
    </ul>

    <p><strong>Пример:</strong> бег трусцой (MET = 8,3), вес 75 кг, 40 минут. Калории = 8,3 x 3,5 x 75 x 40 / 200 = 8,3 x 3,5 x 75 x 40 / 200 = 435,75 ккал. Округляем до 436 ккал.</p>

    <h3>Что влияет на расход калорий при тренировке</h3>
    <p>Формула дает оценку, но реальный расход всегда отклоняется от расчетного. Вот основные факторы, которые меняют картину.</p>

    <ul>
        <li><strong>Масса тела</strong> - крупный человек тратит больше энергии при одном и том же упражнении. При беге в темпе 10 км/ч человек весом 90 кг сожжет примерно на 29% больше калорий, чем весящий 70 кг</li>
        <li><strong>Уровень подготовки</strong> - тренированный организм выполняет привычное движение экономичнее. Опытный бегун расходует на 5-10% меньше энергии на километр, чем начинающий при той же скорости</li>
        <li><strong>Интенсивность</strong> - MET-значения в справочнике усреднены. Две силовые тренировки с одинаковым MET = 5 могут отличаться по реальному расходу вдвое, если одна включает суперсеты без пауз, а другая - длинные перерывы</li>
        <li><strong>Температура и влажность</strong> - в жарком влажном климате организм тратит дополнительную энергию на терморегуляцию. На холоде расход тоже растет, хотя и меньше</li>
        <li><strong>Состав тела</strong> - мышечная ткань метаболически активнее жировой. При одинаковом весе человек с большей мышечной массой расходует чуть больше энергии</li>
        <li><strong>Возраст и пол</strong> - базовый обмен снижается с возрастом. У мужчин расход калорий в среднем выше из-за большей мышечной массы</li>
        <li><strong>Эффект дожигания (EPOC)</strong> - после интенсивной тренировки метаболизм остается повышенным от нескольких часов до суток. Калькулятор не учитывает этот бонус</li>
    </ul>

    <h3>Классификация тренировок по расходу энергии</h3>
    <p>Условно все виды активности можно разделить на три группы по энергозатратам. Границы подвижны - многое зависит от того, как именно вы выполняете упражнение.</p>

    <p><strong>Низкий расход (MET 2-4):</strong> Ходьба, йога, пилатес, растяжка, неторопливый велосипед. Подходят для восстановления, разминки, активного отдыха. За час при весе 70 кг - около 150-300 ккал.</p>

    <p><strong>Средний расход (MET 4-8):</strong> Плавание, умеренная силовая тренировка, аэробика, танцы, велосипед в хорошем темпе, командные виды спорта. Оптимальный диапазон для регулярных занятий. За час - примерно 300-590 ккал.</p>

    <p><strong>Высокий расход (MET 8+):</strong> Бег от 8 км/ч, ВИИТ, кроссфит, скакалка, степ-аэробика, беговые лыжи, спарринг. За час - от 590 ккал и выше. Такие нагрузки требуют хорошей физической формы и восстановления.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Более 30 видов активности с готовыми MET-коэффициентами из научного справочника - не нужно искать значения вручную</li>
        <li>Три результата за один расчет - общий расход, расход в минуту и почасовой, удобно для разных задач планирования</li>
        <li>Активности сгруппированы по категориям - легко найти нужный вид спорта или тренажер</li>
        <li>Подсказки по расходу в зависимости от результата - калькулятор подскажет, много это или мало, и даст контекст по питанию</li>
        <li>Можно быстро сравнить разные тренировки: запустите расчет дважды с разными видами активности и сопоставьте результаты</li>
    </ul>

    <h3>Когда калькулятор не поможет</h3>
    <p>Формулы на основе MET дают приемлемую оценку для большинства ситуаций. Но есть случаи, когда стоит обратиться к специалисту или использовать более точные методы.</p>

    <ul>
        <li>Если нужна точность лучше 10-15% - например, при подготовке к соревнованиям или при медицинских показаниях. Пульсометр или газоанализатор покажут реальный расход</li>
        <li>При интервальных тренировках со сложной структурой - чередование спринтов и отдыха дает расход, который сложно поймать одним MET-значением</li>
        <li>При весе значительно выше или ниже среднего - формула работает, но погрешность может расти</li>
        <li>Если вы принимаете лекарства, влияющие на метаболизм (бета-блокаторы, тиреоидные гормоны и другие), реальный расход может существенно отклоняться</li>
        <li>При проблемах с суставами, сердечно-сосудистой системой или другими ограничениями - подбор нагрузки лучше обсудить с врачом лечебной физкультуры</li>
    </ul>

    <h2>Факты, мнения и исследования о расходе калорий</h2>

    <div class="expert-block">
        <p class="expert-name">Герман Понтцер, PhD, профессор эволюционной антропологии Университета Дьюка (США), автор книги Burn (2021)</p>
        <p>Понтцер и его коллеги изучали энергозатраты охотников-собирателей хадза в Танзании - одного из самых физически активных народов на планете. Результаты оказались неожиданными: несмотря на то что хадза проходят в день 10-15 км и занимаются тяжелым физическим трудом, их суточный расход калорий примерно такой же, как у офисных работников в США. Понтцер объясняет это "моделью ограниченного расхода энергии": при увеличении физической активности организм постепенно сокращает траты на другие процессы - воспаление, выработку гормонов стресса, репродуктивные функции. Проще говоря, больше тренировок не значит пропорционально больше сожженных калорий за сутки. Тело адаптируется.</p>
    </div>

    <div class="fact-block">
        <p><strong>Исторический факт</strong></p>
        <p>Первые точные измерения расхода калорий у человека провел американский химик Уилбур Этуотер в 1890-х годах. Он построил в Уэслианском университете (Коннектикут) респираторный калориметр - герметичную камеру размером с небольшую комнату, где испытуемый мог есть, спать и выполнять физические упражнения. Стенки камеры содержали трубки с водой, и по нагреву этой воды исследователи вычисляли, сколько тепла выделяет тело. Одновременно они замеряли потребление кислорода и выделение углекислого газа. Именно эти эксперименты дали науке первые надежные цифры: сколько энергии человек тратит в покое, при ходьбе, при физическом труде. Методы Этуотера легли в основу всей современной нутрициологии и спортивной физиологии.</p>
    </div>

    <div class="research-block">
        <p><strong>Современное исследование</strong></p>
        <p>В 2021 году группа ученых из Университета Нового Южного Уэльса (Австралия) опубликовала масштабный мета-анализ 36 исследований, сравнивавших расход калорий при высокоинтенсивных интервальных тренировках (ВИИТ) и при непрерывных нагрузках умеренной интенсивности. Оказалось, что за одинаковый промежуток времени ВИИТ сжигает на 25-30% больше калорий. Но главный бонус - не в самой тренировке, а после нее: благодаря эффекту EPOC (повышенное потребление кислорода после нагрузки) обмен веществ остается ускоренным еще 12-24 часа. Дополнительный расход за счет EPOC после интенсивной тренировки может составить 50-150 ккал - заметную прибавку к тому, что показал бы калькулятор во время самого занятия.</p>
    </div>

    <div class="disclaimer-block">
        <p><strong>Обратите внимание</strong></p>
        <p>Калькулятор дает приблизительную оценку и предназначен только для ознакомления. Результаты нельзя использовать как руководство для лечения, диагностики или составления медицинских диет. Перед началом новой программы тренировок - особенно если у вас есть хронические заболевания, травмы, избыточный вес или вы давно не занимались спортом - проконсультируйтесь с врачом. При составлении индивидуального плана питания и нагрузок обратитесь к спортивному врачу, диетологу или тренеру с профильным образованием.</p>
    </div>

</div>

<script>
function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateCalories() {
    var weight = parseFloat(document.getElementById('weight').value);
    var activitySelect = document.getElementById('activity');
    var met = parseFloat(activitySelect.value);
    var duration = parseFloat(document.getElementById('duration').value);

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(weight) || weight < 30 || weight > 250) {
        showError('Укажите вес от 30 до 250 кг.');
        return;
    }
    if (isNaN(met) || !activitySelect.value) {
        showError('Выберите вид тренировки из списка.');
        return;
    }
    if (isNaN(duration) || duration < 1 || duration > 600) {
        showError('Укажите продолжительность от 1 до 600 минут.');
        return;
    }

    var activityName = activitySelect.options[activitySelect.selectedIndex].text;

    // Формула: ккал = MET x 3.5 x вес(кг) x время(мин) / 200
    var totalCalories = met * 3.5 * weight * duration / 200;
    var calPerMin = met * 3.5 * weight / 200;
    var calPerHour = calPerMin * 60;

    // Параметры расчета
    document.getElementById('resultParams').innerHTML =
        '<span>Вес: <strong>' + weight.toFixed(1) + ' кг</strong></span>' +
        '<span>Активность: <strong>' + activityName + '</strong></span>' +
        '<span>MET: <strong>' + met.toFixed(1) + '</strong></span>' +
        '<span>Время: <strong>' + duration + ' мин</strong></span>';

    document.getElementById('totalCalories').textContent = Math.round(totalCalories);
    document.getElementById('calPerMin').textContent = calPerMin.toFixed(1);
    document.getElementById('calPerHour').textContent = Math.round(calPerHour);

    // Контекстная заметка
    var note = '';
    if (totalCalories < 100) {
        note = 'Небольшой расход - подходит для разминки, заминки или легкого восстановления. ' +
               'Если цель - снижение веса, рассмотрите увеличение продолжительности или более интенсивный вид активности.';
    } else if (totalCalories < 300) {
        note = 'Умеренный расход. Примерно столько содержит порция каши с фруктами или бутерброд с сыром. ' +
               'Хороший вариант для регулярных тренировок 3-5 раз в неделю.';
    } else if (totalCalories < 600) {
        note = 'Существенный расход. Это сопоставимо с полноценным приемом пищи. ' +
               'Не забудьте про восстановление: вода, белок и углеводы после тренировки помогут мышцам восстановиться.';
    } else if (totalCalories < 1000) {
        note = 'Высокий расход. Обязательно пейте воду во время тренировки и восполните энергию после нее. ' +
               'При регулярных тренировках такой интенсивности важно следить за достаточным потреблением калорий и микроэлементов.';
    } else {
        note = 'Очень высокий расход - больше 1000 ккал за тренировку. Убедитесь, что ваш рацион покрывает потребности. ' +
               'При таких нагрузках критически важны гидратация, питание и качественный сон. ' +
               'Если вы не профессиональный спортсмен, проконсультируйтесь с тренером о режиме восстановления.';
    }

    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-rashoda-kalorij-pri-trenirovkah/">Калькулятор расхода калорий при тренировках</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор соотношения талии и бёдер (WHR)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-sootnosheniya-talii-i-byoder-whr/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:34:24 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5658</guid>

					<description><![CDATA[<p>Рассчитать соотношение талии и бедер онлайн Пол: Мужчина Женщина Пороговые значения WHR различаются для мужчин и женщин. Выберите пол для корректной интерпретации. Обхват талии (см): Измерьте на уровне пупка или в самом узком месте между нижними ребрами и подвздошными костями. Лента должна лежать горизонтально, плотно, но без вдавливания в кожу. Обхват бедер (см): Измерьте в [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-sootnosheniya-talii-i-byoder-whr/">Калькулятор соотношения талии и бёдер (WHR)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5658" class="elementor elementor-5658" 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;
}
.risk-low {
    color: #2e7d32;
    font-weight: bold;
}
.risk-moderate {
    color: #e65100;
    font-weight: bold;
}
.risk-high {
    color: #c62828;
    font-weight: bold;
}
</style>

<div class="content-section">
    <h2>Рассчитать соотношение талии и бедер онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Пол:</label>
            <div class="carb-toggle">
                <button id="btnMale" class="active"
                        onclick="switchGender('male')">
                    Мужчина
                </button>
                <button id="btnFemale"
                        onclick="switchGender('female')">
                    Женщина
                </button>
            </div>
            <div class="input-hint">
                Пороговые значения WHR различаются
                для мужчин и женщин. Выберите пол
                для корректной интерпретации.
            </div>
        </div>

        <div class="calculator-input">
            <label for="waist">
                Обхват талии (см):
            </label>
            <input type="number" id="waist" min="40" max="200"
                   step="0.1" placeholder="Например: 78">
            <div class="input-hint">
                Измерьте на уровне пупка или в самом узком
                месте между нижними ребрами и подвздошными
                костями. Лента должна лежать горизонтально,
                плотно, но без вдавливания в кожу.
            </div>
        </div>

        <div class="calculator-input">
            <label for="hips">
                Обхват бедер (см):
            </label>
            <input type="number" id="hips" min="50" max="220"
                   step="0.1" placeholder="Например: 98">
            <div class="input-hint">
                Измерьте в самой широкой части ягодиц.
                Встаньте прямо, ноги вместе. Лента
                проходит горизонтально через наиболее
                выступающие точки.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateWHR()">
            Рассчитать WHR
        </button>

        <div class="result" id="result">
            <h3>Результат</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row-primary">
                <strong>Соотношение талии и бедер (WHR):</strong><br>
                <span class="dose-highlight" id="whrValue">-</span>
            </div>

            <div class="dose-row" id="riskRow">
                <strong>Категория риска:</strong><br>
                <span class="dose-highlight" id="riskCategory">-</span>
            </div>

            <div class="dose-row" id="shapeRow">
                <strong>Тип фигуры:</strong><br>
                <span id="bodyShape">-</span>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> WHR - скрининговый
                показатель, а не диагноз. Он не учитывает
                мышечную массу, возраст, этническую
                принадлежность и другие факторы. Для полной
                оценки здоровья нужен врач, анализы и, при
                необходимости, инструментальная диагностика.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Нормы WHR по классификации ВОЗ</h3>
    <p>Всемирная организация здравоохранения установила
    пороговые значения соотношения талии и бедер для оценки
    абдоминального ожирения. Эти нормы используют в клинической
    практике и эпидемиологических исследованиях по всему миру.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Категория риска</th>
                <th>Мужчины</th>
                <th>Женщины</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Низкий (норма)</td>
                <td>менее 0,90</td>
                <td>менее 0,80</td>
            </tr>
            <tr>
                <td>Умеренный</td>
                <td>0,90 - 1,00</td>
                <td>0,80 - 0,85</td>
            </tr>
            <tr>
                <td>Высокий</td>
                <td>более 1,00</td>
                <td>более 0,85</td>
            </tr>
        </tbody>
    </table>

    <h3>Что показывает индекс WHR</h3>
    <p>WHR (waist-to-hip ratio) - это отношение окружности
    талии к окружности бедер. Формула простая: обхват талии
    делят на обхват бедер. Получается число, обычно от 0,6
    до 1,2.</p>

    <p>Само по себе число мало что говорит. Смысл появляется,
    когда его сравнивают с пороговыми значениями для конкретного
    пола. Высокий WHR означает, что жировая ткань
    сконцентрирована в области живота. Такой тип распределения
    жира называют абдоминальным, или андроидным. Низкий WHR
    указывает на преобладание жировых отложений в области
    бедер и ягодиц - гиноидный тип.</p>

    <p>Почему это важно? Жир в области живота - не просто
    подкожная складка. Значительная его часть - висцеральный жир,
    который окружает внутренние органы: печень, поджелудочную
    железу, кишечник. Висцеральный жир метаболически активен.
    Он выделяет воспалительные вещества (цитокины), влияет на
    чувствительность к инсулину и повышает риск сердечно-сосудистых
    заболеваний, диабета 2 типа и метаболического синдрома.</p>

    <h3>Описание калькулятора WHR</h3>
    <p>Калькулятор делит обхват талии на обхват бедер и сравнивает
    результат с нормами ВОЗ. На входе - три параметра: пол,
    обхват талии в сантиметрах и обхват бедер в сантиметрах.</p>

    <p>На выходе - числовое значение WHR, категория
    риска (низкий, умеренный или высокий) и тип фигуры.
    Калькулятор также дает краткий комментарий в зависимости
    от полученного результата и выбранного пола.</p>

    <h3>Как правильно измерить талию и бедра</h3>
    <p>Точность измерений напрямую влияет на результат.
    Несколько сантиметров ошибки могут сдвинуть WHR из
    одной категории в другую. Вот правила, которых
    придерживаются в клинических исследованиях.</p>

    <ul>
        <li><strong>Талия:</strong> измеряйте стоя, на выдохе,
        в самом узком месте туловища между нижним краем ребер
        и гребнями подвздошных костей. Если узкое место
        не выражено (при большом животе) - на уровне пупка.
        Лента лежит горизонтально, параллельно полу</li>
        <li><strong>Бедра:</strong> измеряйте в самой широкой
        части ягодиц. Ноги вместе, мышцы расслаблены. Лента
        проходит через наиболее выступающие точки</li>
        <li><strong>Общие правила:</strong> используйте мягкую
        сантиметровую ленту. Измеряйте на голое тело или тонкое
        белье. Лента плотно прилегает, но не вдавливается.
        Лучше попросить кого-то помочь - самостоятельно
        сложно выдержать горизонталь</li>
        <li><strong>Время:</strong> утром, натощак, до еды
        и напитков. Вздутие живота после еды может добавить
        2-4 см к обхвату талии</li>
    </ul>

    <h3>WHR и ИМТ: в чем разница</h3>
    <p>Индекс массы тела (ИМТ) - это вес, деленный на рост
    в квадрате. Он показывает общую полноту, но не различает
    жир и мышцы и не учитывает, где именно жир расположен.
    Спортсмен с развитой мускулатурой может получить ИМТ
    «ожирение», хотя жира у него мало. И наоборот: человек
    с нормальным ИМТ может нести опасный висцеральный жир
    на животе.</p>

    <p>WHR решает другую задачу. Он не оценивает количество
    жира - он оценивает распределение. Два человека с одинаковым
    весом и ростом могут иметь совершенно разный WHR. У одного
    жир на бедрах и ягодицах - это метаболически более безопасный
    вариант. У другого - на животе, с высоким содержанием
    висцерального жира и повышенным риском для сосудов и сердца.</p>

    <p>В идеале врач оценивает оба показателя вместе.
    ИМТ дает общую картину, WHR уточняет, куда именно
    распределен вес.</p>

    <h3>Типы фигуры и здоровье</h3>
    <p>В медицине используют два основных типа распределения
    жира. Их часто сравнивают с фруктами - это упрощение,
    но оно хорошо запоминается.</p>

    <ul>
        <li><strong>Яблоко (андроидный тип):</strong>
        жир сосредоточен на животе и в верхней части туловища.
        Высокий WHR. Чаще встречается у мужчин и у женщин
        после менопаузы. Связан с повышенным риском диабета,
        атеросклероза, гипертонии, жировой болезни печени</li>
        <li><strong>Груша (гиноидный тип):</strong>
        жир распределен на бедрах, ягодицах и нижней части тела.
        Низкий WHR. Более характерен для женщин до менопаузы.
        Метаболически менее опасен, хотя избыточный вес
        в любом распределении создает нагрузку на суставы
        и позвоночник</li>
    </ul>

    <p>Гормональные изменения - одна из главных причин
    перестройки фигуры. У женщин после менопаузы снижение
    эстрогенов приводит к перераспределению жира от бедер
    к животу. У мужчин снижение тестостерона с возрастом
    тоже способствует накоплению абдоминального жира.</p>

    <h3>Формула расчета WHR</h3>
    <p>Формула одна, и она элементарная:</p>

    <p><strong>WHR = обхват талии (см) / обхват бедер (см)</strong></p>

    <p><strong>Пример для женщины:</strong> талия 72 см, бедра
    98 см. WHR = 72 / 98 = 0,73. По нормам ВОЗ для женщин
    это низкий риск (менее 0,80).</p>

    <p><strong>Пример для мужчины:</strong> талия 94 см, бедра
    100 см. WHR = 94 / 100 = 0,94. Для мужчин это попадает
    в зону умеренного риска (0,90 - 1,00).</p>

    <h3>Что влияет на WHR</h3>
    <p>Соотношение талии и бедер - не фиксированная величина.
    Оно меняется в течение жизни и зависит от нескольких
    факторов.</p>

    <ul>
        <li><strong>Питание:</strong> избыток калорий, особенно
        из рафинированных углеводов и алкоголя, способствует
        накоплению висцерального жира. Средиземноморская диета
        и продукты с высоким содержанием клетчатки помогают
        снизить объем талии</li>
        <li><strong>Физическая активность:</strong> аэробные
        нагрузки и силовые тренировки уменьшают абдоминальный
        жир. Но точечно «убрать живот» упражнениями нельзя -
        жир уходит системно</li>
        <li><strong>Гормоны:</strong> кортизол при хроническом
        стрессе увеличивает отложения на животе. Снижение
        половых гормонов с возрастом перестраивает распределение
        жира</li>
        <li><strong>Генетика:</strong> предрасположенность
        к абдоминальному ожирению частично наследуется.
        Но генетика - не приговор: образ жизни существенно
        корректирует исходные данные</li>
        <li><strong>Возраст:</strong> с годами мышечная масса
        снижается, а доля жира растет - при том же весе WHR
        постепенно увеличивается</li>
        <li><strong>Сон и стресс:</strong> хронический
        недосып (менее 6 часов) и длительный стресс повышают
        уровень кортизола и инсулинорезистентность, что
        ведет к накоплению жира на животе</li>
    </ul>

    <h3>Когда WHR особенно полезен</h3>
    <p>WHR не заменяет полное обследование, но в ряде
    ситуаций он информативнее других показателей.</p>

    <ul>
        <li>При нормальном весе, но заметном животе - ИМТ
        покажет «норму», а WHR выявит скрытый риск</li>
        <li>У пожилых людей - с возрастом мышечная масса
        снижается, а жир перераспределяется к центру тела.
        ИМТ может оставаться прежним, а WHR - вырасти</li>
        <li>У спортсменов с развитой мускулатурой -
        ИМТ завышен из-за мышц, а WHR правильно отражает
        распределение жира</li>
        <li>При метаболическом синдроме - WHR в сочетании
        с обхватом талии помогает оценить абдоминальное
        ожирение как компонент синдрома</li>
        <li>При отслеживании прогресса - диета и тренировки
        могут не менять вес (жир уходит, мышцы растут),
        но WHR покажет реальные изменения в пропорциях</li>
    </ul>

    <h3>Ограничения показателя</h3>
    <p>WHR - полезный, но не идеальный инструмент. Он не
    разделяет подкожный и висцеральный жир: для этого нужны
    КТ или МРТ. При ИМТ выше 35 точность WHR снижается,
    потому что при выраженном ожирении форма тела
    меняется непредсказуемо.</p>

    <p>У людей с очень развитой мускулатурой бедер (например,
    велосипедисты, конькобежцы) обхват бедер увеличен
    за счет мышц, а не жира - WHR будет занижен.
    Беременность, вздутие живота, задержка жидкости
    тоже временно искажают результат.</p>

    <p>Кроме того, пороговые значения ВОЗ получены
    преимущественно на европейских популяциях. Для людей
    из Южной и Восточной Азии ряд экспертов предлагает
    более жесткие нормы, поскольку у них висцеральный жир
    накапливается при меньших обхватах.</p>

    <h2>Факты и мнения о соотношении талии и бедер</h2>

    <h3>Мнение профессора Маттиаса Блюхера</h3>
    <p>Маттиас Блюхер - профессор медицины ожирения,
    директор Института метаболизма, ожирения и сосудистых
    исследований имени Гельмгольца при Мюнхенском центре
    Гельмгольца и Лейпцигском университете (Германия).
    Он создал крупнейший в мире банк образцов жировой ткани
    и десятилетиями изучает связь между распределением жира
    и метаболическими заболеваниями.</p>

    <p>На конференции Европейской ассоциации по изучению
    диабета (EASD) профессор Блюхер подчеркнул, что
    клинические рекомендации по лечению ожирения слишком
    долго опирались только на ИМТ. По его словам, медицине
    пора перейти от «ИМТ-центричного» взгляда к оценке,
    основанной на реальном бремени заболевания. Важно не
    просто количество лишнего веса, а то, где именно
    расположен жир и какие метаболические нарушения
    он вызывает. Именно поэтому показатели распределения
    жира - такие как WHR - ценны в клинической практике.</p>

    <h3>Исторический факт: кто первым связал форму тела с болезнями</h3>
    <p>В 1947 году французский врач Жан Ваг из Марселя
    опубликовал статью, в которой впервые разделил ожирение
    на два типа: «андроидный» (жир на животе, чаще у мужчин)
    и «гиноидный» (жир на бедрах и ягодицах, чаще у женщин).
    Ваг заметил, что именно пациенты с андроидным ожирением
    страдали от диабета и сердечно-сосудистых осложнений.
    Гиноидное ожирение при тех же показателях веса давало
    меньше проблем со здоровьем.</p>

    <p>Работа вышла на французском, и мировое научное
    сообщество ее практически не заметило. Англоязычная
    версия появилась только в 1956 году, но и она не произвела
    немедленного эффекта. Лишь в 1980-х годах шведские
    и американские исследователи подтвердили наблюдения
    Вага с помощью масштабных проспективных исследований.
    Сегодня Жан Ваг считается основоположником концепции
    метаболического синдрома - хотя сам термин появился
    значительно позже.</p>

    <p>Любопытно, что еще раньше, в конце XIX века,
    американские страховые компании обратили внимание
    на ту же закономерность: клиенты с крупным животом
    умирали раньше, чем полные люди с жиром на бедрах.
    Но формализовать это наблюдение в медицинский показатель
    им не пришло в голову.</p>

    <h3>Современное исследование: WHR предсказывает смертность лучше ИМТ</h3>
    <p>В сентябре 2023 года в журнале JAMA Network Open
    вышло масштабное когортное исследование, которое
    охватило 387 672 участника из базы данных UK Biobank.
    Ученые из Института популяционного здоровья при
    Университете Макмастера (Канада) сравнили три показателя -
    ИМТ, индекс жировой массы и WHR - по силе связи
    со смертностью от всех причин.</p>

    <p>WHR оказался лидером. Его связь со смертностью
    была линейной: чем выше коэффициент, тем выше риск,
    без «безопасных зон» и U-образных кривых. У ИМТ и индекса
    жировой массы связь оказалась J-образной - и при очень
    низких, и при высоких значениях смертность росла, что
    усложняло интерпретацию. При увеличении WHR на одно
    стандартное отклонение риск смерти от всех причин
    возрастал на 40% по эпидемиологическим данным и на 51% -
    при генетическом анализе (менделевская рандомизация).
    Эффект был особенно выражен у мужчин.</p>

    <p>Авторы исследования отметили, что рекомендации ВОЗ
    по оптимальному ИМТ могут быть неточны для людей
    с разным телосложением, и предложили сместить фокус
    общественного здравоохранения с показателей общего
    ожирения на показатели распределения жира.</p>

    <h3>Дисклеймер</h3>
    <div class="warning">
        <strong>Информация на этой странице носит
        ознакомительный характер</strong> и не заменяет
        консультацию врача. WHR - скрининговый инструмент,
        а не метод диагностики. Он помогает заметить
        потенциальный риск, но не ставит диагнозов
        и не назначает лечения. Любые решения о диете,
        физических нагрузках или медикаментозном вмешательстве
        принимайте вместе с терапевтом, эндокринологом
        или кардиологом - специалистом, который видит
        полную картину вашего здоровья. Самостоятельная
        интерпретация одного числа без учета анализов,
        анамнеза и образа жизни может привести к ошибочным
        выводам.
    </div>
</div>

<script>
let gender = 'male';

function switchGender(g) {
    gender = g;
    document.getElementById('btnMale')
        .classList.toggle('active', g === 'male');
    document.getElementById('btnFemale')
        .classList.toggle('active', g === 'female');
    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 calculateWHR() {
    var waist = parseFloat(
        document.getElementById('waist').value
    );
    var hips = parseFloat(
        document.getElementById('hips').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(waist) || waist < 40 || waist > 200) {
        showError(
            'Введите обхват талии от 40 до 200 см. ' +
            'Измерьте сантиметровой лентой на уровне ' +
            'пупка или в самом узком месте туловища.'
        );
        return;
    }
    if (isNaN(hips) || hips < 50 || hips > 220) {
        showError(
            'Введите обхват бедер от 50 до 220 см. ' +
            'Измерьте в самой широкой части ягодиц.'
        );
        return;
    }
    if (waist >= hips * 1.5) {
        showError(
            'Обхват талии не может быть в полтора раза ' +
            'больше обхвата бедер. Проверьте измерения.'
        );
        return;
    }

    var whr = waist / hips;

    var genderLabel = gender === 'male'
        ? 'Мужчина' : 'Женщина';

    document.getElementById('resultParams').innerHTML =
        '<span>Пол: <strong>' + genderLabel +
        '</strong></span>' +
        '<span>Талия: <strong>' + waist.toFixed(1) +
        ' см</strong></span>' +
        '<span>Бедра: <strong>' + hips.toFixed(1) +
        ' см</strong></span>';

    document.getElementById('whrValue').textContent =
        whr.toFixed(2);

    var riskText = '';
    var riskClass = '';
    var shapeText = '';
    var noteText = '';

    if (gender === 'male') {
        if (whr < 0.90) {
            riskText = 'Низкий риск';
            riskClass = 'risk-low';
            shapeText = 'Гиноидный тип (распределение жира ' +
                'преимущественно на бедрах и ягодицах)';
            noteText =
                'Ваш WHR ниже порогового значения ВОЗ ' +
                'для мужчин (0,90). Это говорит о нормальном ' +
                'распределении жировой ткани. Продолжайте ' +
                'поддерживать физическую активность и ' +
                'сбалансированное питание.';
        } else if (whr <= 1.00) {
            riskText = 'Умеренный риск';
            riskClass = 'risk-moderate';
            shapeText = 'Промежуточный тип (тенденция к ' +
                'абдоминальному накоплению жира)';
            noteText =
                'WHR в диапазоне 0,90-1,00 для мужчин ' +
                'указывает на умеренное накопление ' +
                'абдоминального жира. Стоит обратить внимание ' +
                'на питание, уровень физической активности ' +
                'и проверить показатели метаболического здоровья ' +
                '(глюкоза, липидный профиль, давление).';
        } else {
            riskText = 'Высокий риск';
            riskClass = 'risk-high';
            shapeText = 'Андроидный тип, «яблоко» ' +
                '(жир сконцентрирован на животе)';
            noteText =
                'WHR выше 1,00 для мужчин - зона высокого ' +
                'кардиометаболического риска по нормам ВОЗ. ' +
                'Рекомендуется обратиться к врачу для проверки ' +
                'уровня глюкозы, холестерина, артериального ' +
                'давления и оценки висцерального ожирения.';
        }
    } else {
        if (whr < 0.80) {
            riskText = 'Низкий риск';
            riskClass = 'risk-low';
            shapeText = 'Гиноидный тип, «груша» (жир ' +
                'распределен на бедрах и ягодицах)';
            noteText =
                'Ваш WHR ниже порогового значения ВОЗ ' +
                'для женщин (0,80). Распределение жировой ' +
                'ткани в пределах нормы. Гиноидный тип ' +
                'считается метаболически более безопасным.';
        } else if (whr <= 0.85) {
            riskText = 'Умеренный риск';
            riskClass = 'risk-moderate';
            shapeText = 'Промежуточный тип (начало ' +
                'перераспределения жира к абдоминальной зоне)';
            noteText =
                'WHR в диапазоне 0,80-0,85 для женщин - ' +
                'зона умеренного риска. Это может быть ' +
                'связано с возрастными гормональными ' +
                'изменениями. Обратите внимание на уровень ' +
                'физической активности и качество питания. ' +
                'При наличии других факторов риска стоит ' +
                'проконсультироваться с врачом.';
        } else {
            riskText = 'Высокий риск';
            riskClass = 'risk-high';
            shapeText = 'Андроидный тип, «яблоко» ' +
                '(жир сконцентрирован на животе)';
            noteText =
                'WHR выше 0,85 для женщин - зона высокого ' +
                'кардиометаболического риска по нормам ВОЗ. ' +
                'Абдоминальное ожирение у женщин связано с ' +
                'повышенным риском диабета 2 типа, ' +
                'сердечно-сосудистых заболеваний и ' +
                'метаболического синдрома. Рекомендуется ' +
                'консультация терапевта или эндокринолога.';
        }
    }

    var riskEl = document.getElementById('riskCategory');
    riskEl.textContent = riskText;
    riskEl.className = 'dose-highlight ' + riskClass;

    document.getElementById('bodyShape').textContent = shapeText;
    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-sootnosheniya-talii-i-byoder-whr/">Калькулятор соотношения талии и бёдер (WHR)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор 1ПМ (одноповторного максимума)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-1pm-odnopovtornogo-maksimuma/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:26:29 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5653</guid>

					<description><![CDATA[<p>Рассчитать одноповторный максимум (1ПМ) онлайн Рабочий вес: Килограммы (кг) Фунты (lbs) Вес снаряда, с которым вы выполнили подход. Считайте общий вес штанги вместе с грифом. Количество повторений: Сколько раз вы подняли этот вес до отказа или близко к нему. Диапазон 2-10 повторений дает самый точный прогноз. Рассчитать 1ПМ Результат расчета Формула Эпли (Epley, 1985): &#8212; [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-1pm-odnopovtornogo-maksimuma/">Калькулятор 1ПМ (одноповторного максимума)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5653" class="elementor elementor-5653" 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;
    }
    .zones-subtitle {
        margin-top: 16px;
        margin-bottom: 6px;
        font-weight: bold;
        color: #0457B5;
        font-size: 15px;
    }
    .meta-block {
        background: #f4f4f4;
        border: 1px dashed #aaa;
        border-radius: 6px;
        padding: 14px 18px;
        margin-bottom: 24px;
        font-family: monospace;
        font-size: 14px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-break: break-word;
    }
    .meta-block b {
        color: #0457B5;
    }
    .fact-block {
        background: #f9f9f9;
        border: 1px solid #e0e0e0;
        border-radius: 6px;
        padding: 14px 18px;
        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;
        line-height: 1.6;
    }
</style>

<div class="content-section">
        <h2>Рассчитать одноповторный максимум (1ПМ) онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Рабочий вес:</label>
            <div class="carb-toggle">
                <button id="btnKg" class="active"
                        onclick="switchWeightUnit('kg')">
                    Килограммы (кг)
                </button>
                <button id="btnLbs"
                        onclick="switchWeightUnit('lbs')">
                    Фунты (lbs)
                </button>
            </div>
            <input type="number" id="weight" min="1" max="500"
                   step="0.5" placeholder="Например: 80">
            <div class="input-hint" id="weightHint">
                Вес снаряда, с которым вы выполнили подход.
                Считайте общий вес штанги вместе с грифом.
            </div>
        </div>

        <div class="calculator-input">
            <label for="reps">
                Количество повторений:
            </label>
            <input type="number" id="reps" min="1" max="30"
                   step="1" placeholder="Например: 5">
            <div class="input-hint">
                Сколько раз вы подняли этот вес до отказа
                или близко к нему. Диапазон 2-10 повторений
                дает самый точный прогноз.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculate1RM()">
            Рассчитать 1ПМ
        </button>

        <div class="result" id="result">
            <h3>Результат расчета</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row">
                <strong>Формула Эпли</strong>
                (Epley, 1985):<br>
                <span class="dose-highlight" id="epleyResult">-</span>
                &nbsp;<span class="unit-label">кг</span>
            </div>

            <div class="dose-row">
                <strong>Формула Бжицки</strong>
                (Brzycki, 1993):<br>
                <span class="dose-highlight" id="brzyckiResult">-</span>
                &nbsp;<span class="unit-label">кг</span>
            </div>

            <div class="dose-row">
                <strong>Формула Лэндера</strong>
                (Lander, 1985):<br>
                <span class="dose-highlight" id="landerResult">-</span>
                &nbsp;<span class="unit-label">кг</span>
            </div>

            <div class="dose-row-primary">
                <strong>Средний 1ПМ:</strong><br>
                <span class="dose-highlight" id="avgResult">-</span>
                &nbsp;<span class="unit-label">кг</span>
            </div>

            <div class="zones-subtitle">Рабочие веса по зонам интенсивности</div>
            <table class="dose-table" id="zonesTable">
                <thead>
                    <tr>
                        <th>% от 1ПМ</th>
                        <th>Повторения</th>
                        <th>Вес</th>
                        <th>Зона</th>
                    </tr>
                </thead>
                <tbody id="zonesBody">
                </tbody>
            </table>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Расчет носит
                ориентировочный характер. Формулы дают
                прогноз на основе статистических моделей,
                реальный 1ПМ может отличаться на 5-10%.
                Не пытайтесь поднять расчетный максимум
                без опыта, полноценной разминки и страховки.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица процентов от одноповторного максимума</h3>
    <p>Ориентировочная связь между процентом от 1ПМ
    и количеством повторений. Реальные значения зависят
    от типа упражнения, тренировочного опыта и мышечной
    композиции. Многосуставные движения (присед, тяга, жим)
    обычно допускают больше повторений на одном проценте,
    чем изолированные.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>% от 1ПМ</th>
                <th>Повторения</th>
                <th>Тренировочная зона</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>100%</td>
                <td>1</td>
                <td>Максимальная сила</td>
            </tr>
            <tr>
                <td>95%</td>
                <td>2</td>
                <td>Максимальная сила</td>
            </tr>
            <tr>
                <td>90%</td>
                <td>3-4</td>
                <td>Сила</td>
            </tr>
            <tr>
                <td>85%</td>
                <td>5-6</td>
                <td>Сила</td>
            </tr>
            <tr>
                <td>80%</td>
                <td>7-8</td>
                <td>Гипертрофия (сила)</td>
            </tr>
            <tr>
                <td>75%</td>
                <td>10</td>
                <td>Гипертрофия</td>
            </tr>
            <tr>
                <td>70%</td>
                <td>12</td>
                <td>Гипертрофия</td>
            </tr>
            <tr>
                <td>65%</td>
                <td>15</td>
                <td>Выносливость</td>
            </tr>
            <tr>
                <td>60%</td>
                <td>20</td>
                <td>Выносливость</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое одноповторный максимум</h3>
    <p>Одноповторный максимум (1ПМ, или 1RM) - максимальный
    вес, который человек способен поднять один раз с полной
    амплитудой и правильной техникой. Показатель привязан
    к конкретному упражнению: 1ПМ в приседе и 1ПМ в жиме лежа -
    два разных числа.</p>

    <p>Тренировочные программы по силовой подготовке
    задают нагрузку в процентах от 1ПМ. Пять повторений
    на 85% - понятная инструкция, но только если известен
    сам максимум. Прямое тестирование - постепенный выход
    на предельный вес в одном повторении - требует опыта,
    разминки и страховки. Для большинства людей проще и
    безопаснее рассчитать 1ПМ по результатам субмаксимального
    подхода.</p>

    <h3>Описание калькулятора</h3>
    <p>Калькулятор принимает два параметра: рабочий вес
    и количество выполненных повторений. Вес можно вводить
    в килограммах или фунтах - результат выводится в тех же
    единицах.</p>

    <p>На выходе - прогноз 1ПМ по трем формулам (Эпли,
    Бжицки, Лэндера) и среднее арифметическое. Три оценки
    вместо одной показывают разброс: если все три близки,
    прогноз надежный. Если расходятся - стоит перепроверить
    с другим количеством повторений.</p>

    <p>Дополнительно калькулятор строит таблицу рабочих
    весов для основных зон интенсивности. Можно сразу увидеть,
    сколько ставить на штангу для силовой работы на 3-5
    повторений или для гипертрофийных подходов на 8-12.</p>

    <h3>Формулы расчета одноповторного максимума</h3>
    <p>Калькулятор использует три формулы, разработанные
    в разное время и проверенные на разных группах атлетов.
    Все три дают близкие результаты в диапазоне 2-10
    повторений. При большем числе повторений расхождение
    растет.</p>

    <p><strong>Формула Эпли (Epley, 1985):</strong></p>
    <ul>
        <li>1ПМ = вес x (1 + повторения / 30)</li>
        <li>Одна из самых распространенных формул.
        Проста в ручном расчете. Используется в
        большинстве англоязычных источников по силовому
        тренингу</li>
    </ul>

    <p><strong>Формула Бжицки (Brzycki, 1993):</strong></p>
    <ul>
        <li>1ПМ = вес x 36 / (37 - повторения)</li>
        <li>Дает несколько более консервативный результат
        при высоком числе повторений. Популярна в
        академической среде. При одном повторении
        возвращает введенный вес без изменений</li>
    </ul>

    <p><strong>Формула Лэндера (Lander, 1985):</strong></p>
    <ul>
        <li>1ПМ = 100 x вес / (101,3 - 2,67123 x повторения)</li>
        <li>Использует линейную коррекцию. По точности
        сопоставима с формулами Эпли и Бжицки в диапазоне
        до 10 повторений</li>
    </ul>

    <p><strong>Пример:</strong> вы выжали 80 кг на 5 повторений.
    Эпли: 80 x (1 + 5/30) = 93,3 кг. Бжицки: 80 x 36/(37-5)
    = 90,0 кг. Лэндер: 100 x 80 / (101,3 - 13,36) = 90,9 кг.
    Среднее: 91,4 кг. Разброс небольшой - прогноз уверенный.</p>

    <h3>Зачем знать свой одноповторный максимум</h3>
    <p>Без 1ПМ любая процентная программа превращается
    в угадывание. Вот конкретные ситуации, где этот
    показатель нужен.</p>

    <ul>
        <li><strong>Планирование нагрузки</strong> - программы
        Шейко, Смолова, 5/3/1 Вендлера и десятки других задают
        интенсивность через процент от максимума. Без точного
        1ПМ проценты бессмысленны</li>
        <li><strong>Отслеживание прогресса</strong> - расчетный
        1ПМ растет быстрее, чем реальные рабочие веса,
        и раньше показывает, что программа работает</li>
        <li><strong>Подбор весов при смене программы</strong> -
        новый цикл часто начинается с 70-80% от текущего
        максимума. Калькулятор позволяет сразу определить
        стартовую нагрузку</li>
        <li><strong>Соревнования</strong> - для заявки на
        пауэрлифтерские турниры нужны примерные начальные
        подходы, которые планируют от расчетного максимума</li>
    </ul>

    <h3>Как безопасно оценить 1ПМ через подход</h3>
    <p>Для расчетного 1ПМ нужно выполнить один подход
    до отказа (или близко к нему) с заранее подобранным
    весом. Несколько правил, которые снижают риск.</p>

    <ul>
        <li>Разомнитесь 2-3 подходами с нарастающим весом -
        сначала пустой гриф, потом 50%, потом 70% от
        примерного рабочего</li>
        <li>Выберите вес, с которым вы сможете выполнить
        3-8 повторений. Меньше трех - слишком близко к
        максимуму, больше десяти - точность формул падает</li>
        <li>Делайте повторения до момента, когда следующее
        вы не уверены, что закончите. Не нужно доводить
        до полного мышечного отказа с потерей техники</li>
        <li>Используйте страховку или силовую раму
        со стопорами, особенно в приседе и жиме лежа</li>
        <li>Тестируйте одно упражнение за тренировку,
        в начале занятия, когда мышцы свежие</li>
    </ul>

    <h3>Ограничения расчетных формул</h3>
    <p>Формулы строились на статистике и работают
    как усредненные модели. Для конкретного человека
    точность зависит от нескольких факторов.</p>

    <p>Тип упражнения имеет значение. В приседе
    и становой тяге разница между расчетным и реальным
    1ПМ обычно меньше, чем в жиме лежа или жиме стоя.
    Многосуставные движения с большой мышечной массой
    лучше ложатся на статистические модели.</p>

    <p>Тренировочный опыт тоже играет роль. Новички
    часто останавливают подход не из-за мышечного отказа,
    а из-за нарушения техники или страха. Опытные атлеты
    ближе к настоящему отказу, и формулы для них точнее.</p>

    <ul>
        <li>При более чем 10 повторениях погрешность
        возрастает до 10-15%</li>
        <li>Формулы не учитывают разницу между
        концентрическим отказом и потерей техники</li>
        <li>Усталость от предыдущих упражнений занижает
        результат - тестируйте в начале тренировки</li>
        <li>Формулы создавались на данных мужчин-атлетов.
        Для женщин и подростков точность может быть ниже</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Три формулы в одном расчете - видно разброс
        между оценками, а не одно число без контекста</li>
        <li>Ввод веса в килограммах или фунтах с
        переключением в один клик</li>
        <li>Автоматическая таблица рабочих весов для
        основных тренировочных зон - от силовых синглов
        до многоповторных подходов на выносливость</li>
        <li>Предупреждение при вводе более 10 повторений,
        когда точность формул заметно снижается</li>
        <li>Обработка крайнего случая: если введено одно
        повторение, калькулятор сообщает, что расчет
        не нужен - введенный вес и есть 1ПМ</li>
    </ul>

    <h2>Факты, исследования и мнения специалистов</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение специалиста</div>
        <p>Профессор Владимир Зациорский, доктор педагогических
        наук, автор фундаментального учебника по силовой
        подготовке (Science and Practice of Strength Training),
        отмечал, что расчетные формулы 1ПМ служат хорошей
        отправной точкой для программирования, но не должны
        заменять периодическое прямое тестирование у
        подготовленных атлетов. По его позиции, главная ценность
        субмаксимального тестирования - возможность регулярно
        корректировать тренировочные веса без риска травмы,
        который неизбежно сопровождает работу на истинном
        максимуме.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Само понятие "повторный максимум" ввел в практику
        военный хирург Томас Делорм в 1945 году. Он работал
        в госпитале Уолтера Рида с солдатами, получившими
        травмы на Второй мировой. Делорм обнаружил, что
        прогрессивное увеличение веса в упражнениях
        восстанавливает силу эффективнее, чем принятая тогда
        легкая гимнастика. Для дозирования нагрузки он начал
        использовать 10ПМ - вес на 10 повторений до отказа.
        Концепция оказалась настолько удобной, что перешла
        из реабилитации в спорт и со временем трансформировалась
        в привычный нам 1ПМ.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современное исследование</div>
        <p>Систематический обзор, опубликованный в Journal
        of Strength and Conditioning Research, сравнил точность
        нескольких популярных формул прогнозирования 1ПМ. Анализ
        подтвердил, что формулы Эпли и Бжицки показывают
        наименьшую среднюю ошибку в диапазоне 2-10 повторений
        (отклонение менее 5% от реального максимума). Однако
        при 15 и более повторениях ни одна формула не смогла
        обеспечить приемлемую точность - ошибка у всех моделей
        превышала 10%. Авторы рекомендуют ограничивать
        тестовый подход десятью повторениями для получения
        практически полезного прогноза.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Важно:</strong> Калькулятор предназначен для
        ориентировочной оценки и планирования тренировок.
        Перед началом силовых занятий, при наличии травм,
        заболеваний опорно-двигательного аппарата или
        сердечно-сосудистой системы проконсультируйтесь
        с врачом или спортивным врачом. Не пытайтесь поднять
        расчетный максимум без должной подготовки и страховки.
        Ответственность за использование результатов расчета
        несет пользователь.
    </div>

</div>

<script>
let weightUnit = 'kg';

function switchWeightUnit(unit) {
    weightUnit = unit;
    document.getElementById('btnKg')
        .classList.toggle('active', unit === 'kg');
    document.getElementById('btnLbs')
        .classList.toggle('active', unit === 'lbs');

    var hintEl = document.getElementById('weightHint');
    var inputEl = document.getElementById('weight');

    if (unit === 'lbs') {
        hintEl.textContent =
            'Вес снаряда в фунтах. ' +
            '1 фунт = 0,454 кг. Результат тоже будет в фунтах.';
        inputEl.placeholder = 'Например: 175';
    } else {
        hintEl.textContent =
            'Вес снаряда, с которым вы выполнили подход. ' +
            'Считайте общий вес штанги вместе с грифом.';
        inputEl.placeholder = 'Например: 80';
    }

    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 calculate1RM() {
    var weight = parseFloat(
        document.getElementById('weight').value
    );
    var reps = parseInt(
        document.getElementById('reps').value, 10
    );

    var resultDiv = document.getElementById('result');
    var errorDiv  = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var unitLabel = weightUnit === 'lbs' ? 'lbs' : 'кг';

    // Валидация
    var maxWeight = weightUnit === 'lbs' ? 1100 : 500;
    if (isNaN(weight) || weight < 1 || weight > maxWeight) {
        showError(
            'Введите рабочий вес от 1 до ' + maxWeight +
            ' ' + unitLabel + '.'
        );
        return;
    }
    if (isNaN(reps) || reps < 1 || reps > 30) {
        showError(
            'Введите количество повторений от 1 до 30. ' +
            'Для точного прогноза рекомендуется 2-10.'
        );
        return;
    }

    // Обновить единицы в результатах
    var unitLabels = document.querySelectorAll('.unit-label');
    for (var i = 0; i < unitLabels.length; i++) {
        unitLabels[i].textContent = unitLabel;
    }

    // Если 1 повторение - это и есть 1ПМ
    if (reps === 1) {
        document.getElementById('resultParams').innerHTML =
            '<span>Вес: <strong>' + weight.toFixed(1) +
            ' ' + unitLabel + '</strong></span>' +
            '<span>Повторения: <strong>1</strong></span>';

        document.getElementById('epleyResult').textContent =
            weight.toFixed(1);
        document.getElementById('brzyckiResult').textContent =
            weight.toFixed(1);
        document.getElementById('landerResult').textContent =
            weight.toFixed(1);
        document.getElementById('avgResult').textContent =
            weight.toFixed(1);

        buildZonesTable(weight);

        document.getElementById('resultNote').textContent =
            'Вы ввели одно повторение - расчет не требуется. ' +
            'Введенный вес и есть ваш 1ПМ. Для расчетной ' +
            'оценки выполните подход на 3-8 повторений ' +
            'с субмаксимальным весом.';

        resultDiv.classList.add('active');
        return;
    }

    // Формула Эпли
    var epley = weight * (1 + reps / 30);

    // Формула Бжицки
    var brzycki = weight * 36 / (37 - reps);

    // Формула Лэндера
    var lander = 100 * weight / (101.3 - 2.67123 * reps);

    // Среднее
    var avg = (epley + brzycki + lander) / 3;

    // Параметры расчета
    document.getElementById('resultParams').innerHTML =
        '<span>Вес: <strong>' + weight.toFixed(1) +
        ' ' + unitLabel + '</strong></span>' +
        '<span>Повторения: <strong>' + reps +
        '</strong></span>';

    document.getElementById('epleyResult').textContent =
        epley.toFixed(1);
    document.getElementById('brzyckiResult').textContent =
        brzycki.toFixed(1);
    document.getElementById('landerResult').textContent =
        lander.toFixed(1);
    document.getElementById('avgResult').textContent =
        avg.toFixed(1);

    // Таблица зон
    buildZonesTable(avg);

    // Пояснение
    var note = '';
    if (reps > 10) {
        note =
            'При более чем 10 повторениях точность формул ' +
            'заметно снижается. Для более надежного прогноза ' +
            'попробуйте подход с весом, который удается ' +
            'поднять 3-8 раз.';
    } else if (reps >= 2 && reps <= 5) {
        note =
            'Диапазон 2-5 повторений - оптимальный для ' +
            'расчета 1ПМ. Формулы дают минимальную ' +
            'погрешность при таком числе повторений.';
    } else {
        note =
            'Расчет выполнен по трем стандартным формулам. ' +
            'Среднее значение - ваш ориентир при ' +
            'планировании тренировочных нагрузок. ' +
            'Для проверки можно повторить тест через ' +
            'неделю с другим весом и числом повторений.';
    }

    document.getElementById('resultNote').textContent = note;
    resultDiv.classList.add('active');
}

function buildZonesTable(oneRM) {
    var unitLabel = weightUnit === 'lbs' ? 'lbs' : 'кг';
    var zones = [
        { pct: 95, repsRange: '2',      zone: 'Макс. сила' },
        { pct: 90, repsRange: '3-4',    zone: 'Сила' },
        { pct: 85, repsRange: '5-6',    zone: 'Сила' },
        { pct: 80, repsRange: '7-8',    zone: 'Гипертрофия (сила)' },
        { pct: 75, repsRange: '10',     zone: 'Гипертрофия' },
        { pct: 70, repsRange: '12',     zone: 'Гипертрофия' },
        { pct: 65, repsRange: '15',     zone: 'Выносливость' },
        { pct: 60, repsRange: '20',     zone: 'Выносливость' }
    ];

    var html = '';
    for (var i = 0; i < zones.length; i++) {
        var z = zones[i];
        var w = (oneRM * z.pct / 100).toFixed(1);
        html += '<tr>' +
            '<td>' + z.pct + '%</td>' +
            '<td>' + z.repsRange + '</td>' +
            '<td>' + w + ' ' + unitLabel + '</td>' +
            '<td>' + z.zone + '</td>' +
            '</tr>';
    }
    document.getElementById('zonesBody').innerHTML = html;
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-1pm-odnopovtornogo-maksimuma/">Калькулятор 1ПМ (одноповторного максимума)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор МПК (VO₂max)</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-mpk-vo%e2%82%82max/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:17:56 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5648</guid>

					<description><![CDATA[<p>Рассчитать МПК (VO2max) онлайн Метод расчета: Тест Купера По пульсу покоя Забег 2,4 км 12-минутный беговой тест. Классический метод оценки аэробной выносливости по Куперу. Возраст (лет): Нужен для оценки результата по возрастным нормам и расчета максимальной частоты сердечных сокращений. Пол: Мужской Женский Дистанция за 12 минут (метры): Пробегите максимальную дистанцию за 12 минут на ровной [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-mpk-vo%e2%82%82max/">Калькулятор МПК (VO₂max)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5648" class="elementor elementor-5648" 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;
}
.time-inputs {
    display: flex;
    gap: 8px;
}
.time-inputs input {
    flex: 1;
}
.disclaimer-block {
    background-color: #f5f5f5;
    border-left: 4px solid #999;
    padding: 12px 14px;
    margin-top: 20px;
    font-size: 14px;
    color: #555;
}
.expert-block {
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    padding: 12px 14px;
    margin: 15px 0;
}
.fact-block {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 12px 14px;
    margin: 15px 0;
}
.research-block {
    background-color: #fff8e1;
    border-left: 4px solid #ffb300;
    padding: 12px 14px;
    margin: 15px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать МПК (VO2max) онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Метод расчета:</label>
            <div class="carb-toggle">
                <button id="btnCooper" class="active"
                        onclick="switchMethod('cooper')">
                    Тест Купера
                </button>
                <button id="btnHR"
                        onclick="switchMethod('hr')">
                    По пульсу покоя
                </button>
                <button id="btnRun"
                        onclick="switchMethod('run')">
                    Забег 2,4 км
                </button>
            </div>
            <div class="input-hint" id="methodHint">
                12-минутный беговой тест. Классический метод
                оценки аэробной выносливости по Куперу.
            </div>
        </div>

        <div class="calculator-input">
            <label for="age">Возраст (лет):</label>
            <input type="number" id="age" min="10" max="90"
                   placeholder="Например: 30">
            <div class="input-hint">
                Нужен для оценки результата по возрастным
                нормам и расчета максимальной частоты
                сердечных сокращений.
            </div>
        </div>

        <div class="calculator-input">
            <label>Пол:</label>
            <div class="carb-toggle">
                <button id="btnMale" class="active"
                        onclick="switchGender('male')">
                    Мужской
                </button>
                <button id="btnFemale"
                        onclick="switchGender('female')">
                    Женский
                </button>
            </div>
        </div>

        <div class="calculator-input" id="fieldCooper">
            <label for="distance">
                Дистанция за 12 минут (метры):
            </label>
            <input type="number" id="distance" min="400"
                   max="5000" step="10"
                   placeholder="Например: 2400">
            <div class="input-hint">
                Пробегите максимальную дистанцию за 12 минут
                на ровной поверхности. Измерьте по GPS-часам
                или на стадионе (1 круг = 400 м).
            </div>
        </div>

        <div class="calculator-input" id="fieldHR"
             style="display:none">
            <label for="restHR">
                Пульс в покое (уд/мин):
            </label>
            <input type="number" id="restHR" min="30"
                   max="120" placeholder="Например: 65">
            <div class="input-hint">
                Измерьте утром сразу после пробуждения, лежа
                в кровати. Считайте удары за 60 секунд.
                Не вставайте и не пейте кофе до замера.
            </div>
        </div>

        <div class="calculator-input" id="fieldRun"
             style="display:none">
            <label>Время забега на 2,4 км:</label>
            <div class="time-inputs">
                <input type="number" id="runMin" min="5"
                       max="30" placeholder="Минуты">
                <input type="number" id="runSec" min="0"
                       max="59" placeholder="Секунды">
            </div>
            <div class="input-hint">
                Пробегите 2,4 км (6 кругов по стадиону)
                в максимальном темпе. Зафиксируйте время.
                Перед тестом обязательно разомнитесь.
            </div>
        </div>

        <button class="calculate-btn"
                onclick="calculateVO2max()">
            Рассчитать МПК
        </button>

        <div class="result" id="result">
            <h3>Результат расчета</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row-primary">
                <strong>Ваш МПК (VO2max):</strong><br>
                <span class="dose-highlight"
                      id="vo2maxValue">-</span>
                &nbsp;мл/кг/мин
            </div>

            <div class="dose-row">
                <strong>Оценка уровня:</strong><br>
                <span class="dose-highlight"
                      id="ratingValue">-</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>Что такое МПК (VO2max)</h3>
    <p>Максимальное потребление кислорода, или МПК, -
    наибольший объем кислорода, который организм способен
    усвоить за минуту при предельной физической нагрузке.
    Измеряют в миллилитрах на килограмм массы тела в минуту
    (мл/кг/мин). Чем выше показатель, тем эффективнее
    сердце, легкие и мышцы работают вместе.</p>

    <p>МПК считают главным индикатором аэробной
    выносливости. У нетренированного мужчины 25-35 лет
    типичное значение - около 35-40 мл/кг/мин, у женщины
    того же возраста - 27-35 мл/кг/мин. Элитные бегуны
    на длинные дистанции показывают 70-85 мл/кг/мин.
    Но даже умеренное улучшение МПК - на 3-5 единиц -
    заметно снижает риск сердечно-сосудистых проблем.</p>

    <h3>Описание калькулятора МПК</h3>
    <p>Калькулятор предлагает три метода оценки МПК
    без лабораторного оборудования. Тест Купера - по
    дистанции, которую вы пробежали за 12 минут. Метод
    по пульсу покоя - без физической нагрузки, на основе
    возраста и частоты сердечных сокращений в состоянии
    покоя. Забег на 2,4 км - по времени преодоления
    фиксированной дистанции.</p>

    <p>На выходе - числовое значение МПК и его оценка
    по возрастной норме: от "очень низкого" до "превосходного".
    Калькулятор показывает, какая формула использовалась
    и какие параметры учтены, чтобы вы могли проверить
    расчет вручную.</p>

    <p>Каждый метод имеет свою точность. Тест Купера
    и забег на 2,4 км дают более точную оценку, потому
    что опираются на реальную физическую работу.
    Метод по пульсу покоя - самый простой, но менее
    точный: он подходит для первичной ориентировки,
    когда бежать нет возможности или желания.</p>

    <h3>Формулы расчета МПК</h3>

    <p><strong>Тест Купера (12-минутный бег):</strong></p>
    <ul>
        <li>МПК (мл/кг/мин) = (дистанция в метрах - 504,9) / 44,73</li>
        <li>Формула Кеннета Купера, разработана в 1968 году
        для ВВС США</li>
        <li>Требует максимального усилия на протяжении
        всех 12 минут</li>
    </ul>

    <p><strong>По пульсу покоя (формула Ута):</strong></p>
    <ul>
        <li>МПК = 15,3 x (ЧСС макс / ЧСС покоя)</li>
        <li>ЧСС макс = 208 - 0,7 x возраст (формула Танаки)</li>
        <li>Не требует физической нагрузки - достаточно
        измерить пульс утром</li>
        <li>Менее точен при нарушениях ритма сердца
        или приеме бета-блокаторов</li>
    </ul>

    <p><strong>Забег на 2,4 км (формула Балке):</strong></p>
    <ul>
        <li>МПК (мл/кг/мин) = 483 / время в минутах + 3,5</li>
        <li>Время переводят в десятичные минуты:
        например, 11 мин 30 сек = 11,5 мин</li>
        <li>Формула точнее работает при времени
        от 6 до 20 минут</li>
    </ul>

    <p><strong>Пример:</strong> мужчина 30 лет пробежал
    2600 метров за 12 минут. МПК по тесту Купера =
    (2600 - 504,9) / 44,73 = 46,8 мл/кг/мин. Для его
    возраста и пола это оценка "отличный".</p>

    <h3>Таблица норм МПК по возрасту</h3>
    <p>Нормативные значения МПК в мл/кг/мин. Границы
    приблизительные и могут различаться в разных
    источниках. Используйте как ориентир, а не как
    медицинский диагноз.</p>

    <p><strong>Мужчины:</strong></p>
    <table class="dose-table">
        <thead>
            <tr>
                <th>Возраст</th>
                <th>Низкий</th>
                <th>Ниже среднего</th>
                <th>Средний</th>
                <th>Выше среднего</th>
                <th>Высокий</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>20-29</td>
                <td>&lt;30</td>
                <td>30-36</td>
                <td>37-41</td>
                <td>42-49</td>
                <td>&ge;50</td>
            </tr>
            <tr>
                <td>30-39</td>
                <td>&lt;28</td>
                <td>28-33</td>
                <td>34-38</td>
                <td>39-45</td>
                <td>&ge;46</td>
            </tr>
            <tr>
                <td>40-49</td>
                <td>&lt;25</td>
                <td>25-30</td>
                <td>31-35</td>
                <td>36-43</td>
                <td>&ge;44</td>
            </tr>
            <tr>
                <td>50-59</td>
                <td>&lt;22</td>
                <td>22-27</td>
                <td>28-33</td>
                <td>34-39</td>
                <td>&ge;40</td>
            </tr>
            <tr>
                <td>60+</td>
                <td>&lt;19</td>
                <td>19-23</td>
                <td>24-29</td>
                <td>30-35</td>
                <td>&ge;36</td>
            </tr>
        </tbody>
    </table>

    <p><strong>Женщины:</strong></p>
    <table class="dose-table">
        <thead>
            <tr>
                <th>Возраст</th>
                <th>Низкий</th>
                <th>Ниже среднего</th>
                <th>Средний</th>
                <th>Выше среднего</th>
                <th>Высокий</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>20-29</td>
                <td>&lt;24</td>
                <td>24-30</td>
                <td>31-36</td>
                <td>37-43</td>
                <td>&ge;44</td>
            </tr>
            <tr>
                <td>30-39</td>
                <td>&lt;22</td>
                <td>22-27</td>
                <td>28-32</td>
                <td>33-39</td>
                <td>&ge;40</td>
            </tr>
            <tr>
                <td>40-49</td>
                <td>&lt;19</td>
                <td>19-24</td>
                <td>25-30</td>
                <td>31-37</td>
                <td>&ge;38</td>
            </tr>
            <tr>
                <td>50-59</td>
                <td>&lt;17</td>
                <td>17-21</td>
                <td>22-27</td>
                <td>28-33</td>
                <td>&ge;34</td>
            </tr>
            <tr>
                <td>60+</td>
                <td>&lt;15</td>
                <td>15-19</td>
                <td>20-24</td>
                <td>25-31</td>
                <td>&ge;32</td>
            </tr>
        </tbody>
    </table>

    <h3>Как правильно проводить тесты</h3>
    <p>Результат любого теста зависит от условий. Несколько
    правил, которые повышают точность.</p>

    <p>Для теста Купера и забега на 2,4 км: выберите ровную
    поверхность без подъемов - стадион или асфальтовая
    дорожка. Разомнитесь 10-15 минут легким бегом
    и динамической растяжкой. Бегите в равномерном,
    максимально возможном темпе - не спринтуйте первые
    минуты и не приберегайте силы на конец. Проводите
    тест в сухую погоду при комфортной температуре.
    Не тестируйтесь после тяжелой тренировки, болезни
    или бессонной ночи.</p>

    <p>Для метода по пульсу покоя: измеряйте пульс утром,
    сразу после пробуждения, не вставая с кровати.
    Полежите спокойно 2-3 минуты, затем посчитайте удары
    за полную минуту. Повторите 2-3 дня подряд и возьмите
    среднее значение. Кофеин, алкоголь и стресс накануне
    завышают пульс покоя и занижают результат МПК.</p>

    <h3>От чего зависит МПК</h3>
    <p>Генетика задает потолок - примерно 40-50% вариации
    МПК между людьми объясняют наследственные факторы.
    Но оставшаяся половина поддается тренировке.</p>

    <ul>
        <li><strong>Возраст</strong> - после 25-30 лет МПК
        снижается примерно на 1% в год без тренировок.
        У тренирующихся людей падение замедляется
        до 0,5% в год</li>
        <li><strong>Пол</strong> - у мужчин МПК в среднем
        на 15-30% выше из-за большего объема крови,
        более высокого гемоглобина и меньшей доли жировой
        ткани</li>
        <li><strong>Масса тела</strong> - МПК выражают
        в расчете на килограмм, поэтому лишний вес
        снижает относительный показатель даже при
        хорошей сердечной функции</li>
        <li><strong>Высота над уровнем моря</strong> -
        на высоте кислорода в воздухе меньше, и МПК
        падает. Но после акклиматизации организм
        компенсирует это, увеличивая количество
        эритроцитов</li>
        <li><strong>Тренированность</strong> -
        регулярные аэробные нагрузки увеличивают
        ударный объем сердца, плотность капилляров
        в мышцах и количество митохондрий. Все три
        фактора поднимают МПК</li>
    </ul>

    <h3>Как повысить МПК</h3>
    <p>Самый надежный способ - регулярные аэробные
    тренировки. У нетренированного человека МПК можно
    поднять на 15-20% за 2-3 месяца грамотных занятий.
    У подготовленного спортсмена прогресс медленнее -
    3-5% за сезон.</p>

    <p>Интервальные тренировки высокой интенсивности
    (ВИИТ) работают эффективнее длительного бега
    в низком пульсе - это подтверждено несколькими
    метаанализами. Типичный протокол: 4-6 интервалов
    по 3-4 минуты на 90-95% от максимального пульса
    с восстановлением 2-3 минуты между ними.
    Такие тренировки проводят 2-3 раза в неделю.</p>

    <p>При этом базовый объем в низкой зоне тоже важен.
    Профессиональные спортсмены на выносливость тратят
    около 80% тренировочного времени на легкие длительные
    работы и только 20% - на интенсивные интервалы.
    Начинающим лучше стартовать с регулярного бега
    3-4 раза в неделю по 30-40 минут и добавлять
    интервалы постепенно.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Три метода в одном калькуляторе - можно
        выбрать подходящий под ситуацию: тест с бегом,
        забег на дистанцию или оценку без нагрузки
        по пульсу</li>
        <li>Оценка по возрастным и половым нормам -
        результат сравнивается с нормативами для
        вашей группы, а не с абстрактными цифрами</li>
        <li>Прозрачный расчет - видно формулу,
        исходные параметры и промежуточные значения,
        все можно проверить вручную</li>
        <li>Не нужно лабораторное оборудование -
        достаточно стадиона и секундомера для
        беговых тестов или только пульсометра
        для метода покоя</li>
        <li>Подсказки к каждому полю - инструкции
        по замеру пульса, проведению теста и вводу
        результатов прямо в калькуляторе</li>
    </ul>

    <h3>Когда калькулятор не подходит</h3>
    <p>Полевые тесты и формулы - хороший инструмент
    для мониторинга прогресса и первичной оценки.
    Но есть ситуации, когда нужна лабораторная
    спироэргометрия.</p>

    <ul>
        <li>Профессиональный спорт - при подготовке
        к соревнованиям важна точность в 1-2 мл/кг/мин,
        полевые тесты ее не дают</li>
        <li>Реабилитация после инфаркта или операции
        на сердце - тест проводят под контролем
        кардиолога с мониторингом ЭКГ</li>
        <li>Подозрение на бронхиальную астму
        или другие проблемы с легкими - нужен анализ
        газообмена, а не просто дистанция</li>
        <li>Прием бета-блокаторов или антиаритмических
        препаратов - они меняют частоту пульса,
        и формулы на основе ЧСС дают искаженные
        значения</li>
        <li>Боль в груди, головокружение, одышка
        в покое - это противопоказания к любому
        нагрузочному тесту без врача</li>
    </ul>

    <h2>Факты и мнения о максимальном потреблении кислорода</h2>

    <div class="expert-block">
        <p><strong>Мнение специалиста.</strong>
        Тимоти Ноукс, доктор медицины, почетный
        профессор Кейптаунского университета
        и автор книги Lore of Running, на протяжении
        десятилетий изучал роль МПК в спортивной
        физиологии. По его наблюдениям, МПК - важный,
        но не единственный фактор выносливости. Два
        бегуна с одинаковым МПК могут показывать
        разные результаты на марафоне, потому что
        решающую роль играют экономичность бега
        и порог лактата. Ноукс подчеркивал: МПК
        показывает потолок аэробной системы, но то,
        какую долю этого потолка спортсмен способен
        использовать на дистанции, зависит от
        тренированности периферических мышц
        и нервной регуляции.</p>
    </div>

    <div class="fact-block">
        <p><strong>Исторический факт.</strong>
        Понятие максимального потребления кислорода
        впервые описали британский физиолог
        Арчибальд Хилл и его коллега Хартли Лаптон
        в 1923 году. Хилл к тому моменту уже получил
        Нобелевскую премию по физиологии и медицине
        (1922) за исследование теплообразования
        в мышцах. Именно они обнаружили, что
        потребление кислорода при нарастающей нагрузке
        выходит на плато - и дальнейшее увеличение
        интенсивности уже не поднимает его.
        Эта точка плато и стала тем, что сегодня
        называют VO2max. С тех пор прошло больше
        ста лет, но принцип измерения остался
        тем же.</p>
    </div>

    <div class="research-block">
        <p><strong>Современное исследование.</strong>
        В 2018 году группа ученых из Кливлендской
        клиники опубликовала крупное исследование
        в журнале JAMA Network Open. Они проанализировали
        результаты нагрузочных тестов более 122 тысяч
        пациентов за период с 1991 по 2014 год.
        Главный вывод: чем выше кардиореспираторная
        выносливость (измеренная через МПК), тем ниже
        смертность от всех причин. При этом верхнего
        предела пользы не нашли - даже у людей
        с экстремально высокой выносливостью риск
        смерти продолжал снижаться. Авторы отметили,
        что низкий уровень физической подготовки
        сопоставим по опасности с курением,
        диабетом и ишемической болезнью сердца.</p>
    </div>

    <div class="disclaimer-block">
        <p><strong>Внимание.</strong>
        Калькулятор и материалы на этой странице
        носят информационный характер. Они не заменяют
        консультацию врача, спортивного врача
        или кардиолога. Перед началом интенсивных
        тренировок или выполнением нагрузочных тестов
        проконсультируйтесь со специалистом -
        особенно если у вас есть хронические заболевания,
        проблемы с сердцем, повышенное давление или
        вы старше 40 лет и давно не тренировались.
        Не используйте результаты калькулятора для
        самостоятельной постановки диагнозов
        или принятия медицинских решений.</p>
    </div>
</div>

<script>
let currentMethod = 'cooper';
let currentGender = 'male';

function switchMethod(method) {
    currentMethod = method;

    document.getElementById('btnCooper')
        .classList.toggle('active', method === 'cooper');
    document.getElementById('btnHR')
        .classList.toggle('active', method === 'hr');
    document.getElementById('btnRun')
        .classList.toggle('active', method === 'run');

    document.getElementById('fieldCooper')
        .style.display = method === 'cooper' ? '' : 'none';
    document.getElementById('fieldHR')
        .style.display = method === 'hr' ? '' : 'none';
    document.getElementById('fieldRun')
        .style.display = method === 'run' ? '' : 'none';

    var hint = document.getElementById('methodHint');
    if (method === 'cooper') {
        hint.textContent =
            '12-минутный беговой тест. Классический метод ' +
            'оценки аэробной выносливости по Куперу.';
    } else if (method === 'hr') {
        hint.textContent =
            'Оценка без физической нагрузки. Достаточно ' +
            'знать возраст и пульс в состоянии покоя.';
    } else {
        hint.textContent =
            'Бег на фиксированную дистанцию 2,4 км ' +
            '(6 кругов стадиона) на максимальной скорости.';
    }

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function switchGender(gender) {
    currentGender = gender;
    document.getElementById('btnMale')
        .classList.toggle('active', gender === 'male');
    document.getElementById('btnFemale')
        .classList.toggle('active', gender === 'female');

    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 getRating(vo2max, age, gender) {
    var norms = {
        male: [
            { maxAge: 29, levels: [30, 37, 42, 50] },
            { maxAge: 39, levels: [28, 34, 39, 46] },
            { maxAge: 49, levels: [25, 31, 36, 44] },
            { maxAge: 59, levels: [22, 28, 34, 40] },
            { maxAge: 99, levels: [19, 24, 30, 36] }
        ],
        female: [
            { maxAge: 29, levels: [24, 31, 37, 44] },
            { maxAge: 39, levels: [22, 28, 33, 40] },
            { maxAge: 49, levels: [19, 25, 31, 38] },
            { maxAge: 59, levels: [17, 22, 28, 34] },
            { maxAge: 99, levels: [15, 20, 25, 32] }
        ]
    };

    var categories = [
        'Низкий',
        'Ниже среднего',
        'Средний',
        'Выше среднего',
        'Высокий'
    ];

    var group = norms[gender][norms[gender].length - 1];
    for (var i = 0; i < norms[gender].length; i++) {
        if (age <= norms[gender][i].maxAge) {
            group = norms[gender][i];
            break;
        }
    }

    for (var j = 0; j < group.levels.length; j++) {
        if (vo2max < group.levels[j]) {
            return categories[j];
        }
    }
    return categories[categories.length - 1];
}

function calculateVO2max() {
    var age = parseFloat(document.getElementById('age').value);
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (isNaN(age) || age < 10 || age > 90) {
        showError(
            'Введите возраст от 10 до 90 лет.'
        );
        return;
    }

    var vo2max = 0;
    var methodName = '';
    var paramsHTML = '';

    if (currentMethod === 'cooper') {
        var dist = parseFloat(
            document.getElementById('distance').value
        );
        if (isNaN(dist) || dist < 400 || dist > 5000) {
            showError(
                'Введите дистанцию от 400 до 5000 метров. ' +
                'Измерьте по GPS-часам или посчитайте круги ' +
                'на стадионе (1 круг = 400 м).'
            );
            return;
        }
        vo2max = (dist - 504.9) / 44.73;
        methodName = 'Тест Купера';
        paramsHTML =
            '<span>Дистанция: <strong>' +
            dist.toFixed(0) + ' м</strong></span>' +
            '<span>Формула: (D - 504,9) / 44,73</span>';

    } else if (currentMethod === 'hr') {
        var restHR = parseFloat(
            document.getElementById('restHR').value
        );
        if (isNaN(restHR) || restHR < 30 || restHR > 120) {
            showError(
                'Введите пульс покоя от 30 до 120 уд/мин. ' +
                'Измерьте утром, лежа в кровати, ' +
                'за полную минуту.'
            );
            return;
        }
        var hrMax = 208 - 0.7 * age;
        vo2max = 15.3 * (hrMax / restHR);
        methodName = 'По пульсу покоя';
        paramsHTML =
            '<span>ЧСС покоя: <strong>' +
            restHR.toFixed(0) + ' уд/мин</strong></span>' +
            '<span>ЧСС макс (расч.): <strong>' +
            hrMax.toFixed(0) + ' уд/мин</strong></span>' +
            '<span>Формула Ута: 15,3 x (ЧССмакс / ЧССпокоя)</span>';

    } else if (currentMethod === 'run') {
        var runMin = parseFloat(
            document.getElementById('runMin').value
        );
        var runSec = parseFloat(
            document.getElementById('runSec').value
        );
        if (isNaN(runSec)) runSec = 0;
        if (isNaN(runMin) || runMin < 5 || runMin > 30) {
            showError(
                'Введите время забега от 5 до 30 минут. ' +
                'Укажите минуты и секунды отдельно.'
            );
            return;
        }
        if (runSec < 0 || runSec > 59) {
            showError(
                'Секунды должны быть от 0 до 59.'
            );
            return;
        }
        var totalMin = runMin + runSec / 60;
        vo2max = 483 / totalMin + 3.5;
        methodName = 'Забег 2,4 км';
        paramsHTML =
            '<span>Время: <strong>' +
            runMin.toFixed(0) + ' мин ' +
            runSec.toFixed(0) + ' сек (' +
            totalMin.toFixed(2) + ' мин)</strong></span>' +
            '<span>Формула: 483 / T + 3,5</span>';
    }

    if (vo2max < 5) vo2max = 5;
    if (vo2max > 100) vo2max = 100;

    var rating = getRating(vo2max, age, currentGender);
    var genderLabel = currentGender === 'male'
        ? 'мужской' : 'женский';

    document.getElementById('resultParams').innerHTML =
        '<span>Метод: <strong>' + methodName +
        '</strong></span>' +
        '<span>Возраст: <strong>' +
        age.toFixed(0) + ' лет</strong></span>' +
        '<span>Пол: <strong>' +
        genderLabel + '</strong></span><br>' +
        paramsHTML;

    document.getElementById('vo2maxValue').textContent =
        vo2max.toFixed(1);
    document.getElementById('ratingValue').textContent =
        rating;

    var note = '';
    if (vo2max < 20) {
        note =
            'Низкое значение МПК. Если вы давно ' +
            'не тренировались, начните с ходьбы ' +
            '30-40 минут в день и постепенно добавляйте ' +
            'легкий бег. Перед началом тренировок ' +
            'проконсультируйтесь с врачом.';
    } else if (vo2max >= 20 && vo2max < 35) {
        note =
            'Уровень ниже среднего или средний. ' +
            'Регулярные аэробные тренировки 3-4 раза ' +
            'в неделю по 30-45 минут способны ' +
            'поднять МПК на 10-15% за 2-3 месяца.';
    } else if (vo2max >= 35 && vo2max < 50) {
        note =
            'Хороший уровень аэробной подготовки. ' +
            'Для дальнейшего роста подключайте ' +
            'интервальные тренировки: 4-6 ускорений ' +
            'по 3-4 минуты на 90-95% от максимального ' +
            'пульса с отдыхом между ними.';
    } else {
        note =
            'Высокий или спортивный уровень МПК. ' +
            'Для точной оценки и тонкой подстройки ' +
            'тренировочного плана имеет смысл ' +
            'пройти лабораторное тестирование ' +
            'с газоанализатором.';
    }

    if (currentMethod === 'hr') {
        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-mpk-vo%e2%82%82max/">Калькулятор МПК (VO₂max)</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор пульсовых зон при тренировках</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-pulsovyh-zon-pri-trenirovkah/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 07:06:49 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы тела и фитнеса]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5643</guid>

					<description><![CDATA[<p>Рассчитать пульсовые зоны онлайн Возраст (полных лет): Нужен для расчета максимальной частоты сердечных сокращений по формуле. Если вы знаете свой реальный максимальный пульс &#8212; отметьте это ниже. Пульс покоя (уд/мин): Измерьте утром, не вставая с кровати: посчитайте пульс за 60 секунд. Если ввести пульс покоя, калькулятор рассчитает зоны по формуле Карвонена &#8212; она точнее стандартного [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-pulsovyh-zon-pri-trenirovkah/">Калькулятор пульсовых зон при тренировках</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5643" class="elementor elementor-5643" 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;
}
.method-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.method-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;
}
.method-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;
}
.zone-bar {
    display: flex;
    align-items: center;
    margin: 6px 0;
    border-radius: 4px;
    overflow: hidden;
}
.zone-label {
    min-width: 90px;
    font-weight: bold;
    font-size: 13px;
    padding: 6px 10px;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}
.zone-info {
    padding: 6px 12px;
    font-size: 14px;
    flex: 1;
}
.zone-bpm {
    font-weight: bold;
    font-size: 15px;
}
.zone-desc {
    font-size: 12px;
    color: #555;
    margin-top: 2px;
}
.zone-1 .zone-label { background-color: #90caf9; }
.zone-2 .zone-label { background-color: #66bb6a; }
.zone-3 .zone-label { background-color: #fdd835; color: #333; }
.zone-4 .zone-label { background-color: #ffa726; }
.zone-5 .zone-label { background-color: #ef5350; }
.zone-1 { background-color: #e3f2fd; border-left: 3px solid #90caf9; }
.zone-2 { background-color: #e8f5e9; border-left: 3px solid #66bb6a; }
.zone-3 { background-color: #fffde7; border-left: 3px solid #fdd835; }
.zone-4 { background-color: #fff3e0; border-left: 3px solid #ffa726; }
.zone-5 { background-color: #ffebee; border-left: 3px solid #ef5350; }
.custom-hr-wrapper {
    margin-top: 10px;
}
.custom-hr-wrapper label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: normal;
    cursor: pointer;
    font-size: 14px;
    margin-bottom: 8px;
}
.custom-hr-wrapper input[type="checkbox"] {
    width: auto;
}
.custom-hr-input {
    display: none;
    margin-top: 6px;
}
.custom-hr-input.visible {
    display: block;
}
</style>

<div class="content-section">
    <h2>Рассчитать пульсовые зоны онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="age">
                Возраст (полных лет):
            </label>
            <input type="number" id="age" min="10" max="99"
                   step="1" placeholder="Например: 35">
            <div class="input-hint">
                Нужен для расчета максимальной частоты
                сердечных сокращений по формуле. Если вы
                знаете свой реальный максимальный пульс -
                отметьте это ниже.
            </div>
        </div>

        <div class="calculator-input">
            <label for="restingHR">
                Пульс покоя (уд/мин):
            </label>
            <input type="number" id="restingHR" min="30" max="120"
                   step="1" placeholder="Например: 65">
            <div class="input-hint">
                Измерьте утром, не вставая с кровати:
                посчитайте пульс за 60 секунд. Если ввести
                пульс покоя, калькулятор рассчитает зоны
                по формуле Карвонена - она точнее стандартного
                процента от максимального пульса.
            </div>
        </div>

        <div class="calculator-input">
            <label>Формула максимального пульса:</label>
            <div class="method-toggle">
                <button id="btnFox" class="active"
                        onclick="switchFormula('fox')">
                    220 - возраст
                </button>
                <button id="btnTanaka"
                        onclick="switchFormula('tanaka')">
                    Танака (208 - 0,7 x возраст)
                </button>
            </div>
            <div class="input-hint" id="formulaHint">
                Классическая формула «220 - возраст» проще,
                но формула Танаки точнее для людей старше 40 лет.
            </div>

            <div class="custom-hr-wrapper">
                <label>
                    <input type="checkbox" id="useCustomHR"
                           onchange="toggleCustomHR()">
                    Знаю свой максимальный пульс
                    (измерен на тесте)
                </label>
                <div class="custom-hr-input" id="customHRBlock">
                    <input type="number" id="customMaxHR" min="120"
                           max="230" step="1"
                           placeholder="Максимальный пульс, например: 192">
                    <div class="input-hint">
                        Если вы проходили нагрузочный тест
                        у спортивного врача или знаете свой
                        максимальный пульс по данным пульсометра -
                        введите его. Формула будет проигнорирована.
                    </div>
                </div>
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateZones()">
            Рассчитать зоны
        </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="maxHRResult">-</span>
                &nbsp;уд/мин
            </div>

            <div id="zonesContainer" style="margin-top: 12px;"></div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Расчет по формулам
                дает приблизительный результат. Реальный
                максимальный пульс может отличаться
                на 10-15 ударов в любую сторону.
                Для точного определения пульсовых зон
                пройдите нагрузочное тестирование
                у спортивного врача или кардиолога.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Справочная таблица пульсовых зон</h3>
    <p>Ориентировочные диапазоны для разных возрастов.
    Зоны рассчитаны как процент от максимального пульса
    по формуле «220 - возраст» без учета пульса покоя.
    При использовании формулы Карвонена значения будут
    выше в нижних зонах.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Возраст</th>
                <th>МЧСС</th>
                <th>Зона 1 (50-60%)</th>
                <th>Зона 2 (60-70%)</th>
                <th>Зона 3 (70-80%)</th>
                <th>Зона 4 (80-90%)</th>
                <th>Зона 5 (90-100%)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>20 лет</td>
                <td>200</td>
                <td>100-120</td>
                <td>120-140</td>
                <td>140-160</td>
                <td>160-180</td>
                <td>180-200</td>
            </tr>
            <tr>
                <td>30 лет</td>
                <td>190</td>
                <td>95-114</td>
                <td>114-133</td>
                <td>133-152</td>
                <td>152-171</td>
                <td>171-190</td>
            </tr>
            <tr>
                <td>35 лет</td>
                <td>185</td>
                <td>93-111</td>
                <td>111-130</td>
                <td>130-148</td>
                <td>148-167</td>
                <td>167-185</td>
            </tr>
            <tr>
                <td>40 лет</td>
                <td>180</td>
                <td>90-108</td>
                <td>108-126</td>
                <td>126-144</td>
                <td>144-162</td>
                <td>162-180</td>
            </tr>
            <tr>
                <td>45 лет</td>
                <td>175</td>
                <td>88-105</td>
                <td>105-123</td>
                <td>123-140</td>
                <td>140-158</td>
                <td>158-175</td>
            </tr>
            <tr>
                <td>50 лет</td>
                <td>170</td>
                <td>85-102</td>
                <td>102-119</td>
                <td>119-136</td>
                <td>136-153</td>
                <td>153-170</td>
            </tr>
            <tr>
                <td>55 лет</td>
                <td>165</td>
                <td>83-99</td>
                <td>99-116</td>
                <td>116-132</td>
                <td>132-149</td>
                <td>149-165</td>
            </tr>
            <tr>
                <td>60 лет</td>
                <td>160</td>
                <td>80-96</td>
                <td>96-112</td>
                <td>112-128</td>
                <td>128-144</td>
                <td>144-160</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое пульсовые зоны</h3>
    <p>Пульсовые зоны - это диапазоны частоты сердечных
    сокращений, в которых организм работает по-разному.
    Каждая зона нагружает сердечно-сосудистую систему
    и мышцы в разной степени, расходует разные источники
    энергии и тренирует разные физические качества.</p>

    <p>Всего выделяют пять зон. Первая - легкая работа,
    разминка и восстановление. Вторая - умеренная нагрузка,
    при которой организм активно сжигает жиры. Третья -
    аэробная выносливость, основная рабочая зона для
    бегунов и велосипедистов. Четвертая - зона анаэробного
    порога, где лактат накапливается быстрее, чем
    утилизируется. Пятая - максимальное усилие,
    короткие спринты и финишные рывки.</p>

    <p>Границы зон индивидуальны. Они зависят от возраста,
    уровня тренированности, генетики, и даже от вида
    спорта. Формулы дают отправную точку, но не абсолютную
    истину.</p>

    <h3>Описание калькулятора пульсовых зон</h3>
    <p>Калькулятор определяет пять пульсовых зон
    по двум параметрам: возраст и пульс покоя. Возраст
    нужен для расчета максимального пульса, пульс покоя -
    для уточнения зон по формуле Карвонена.</p>

    <p>Если пульс покоя не указан, зоны рассчитываются
    как простой процент от максимального пульса. Если
    указан - калькулятор переключается на метод Карвонена,
    который учитывает резерв сердечного ритма и дает
    более персонализированные границы зон. На практике
    разница особенно заметна в зонах 1-2: по Карвонену
    они выше, и это ближе к реальности для тренированных
    людей.</p>

    <p>Также можно ввести реальный максимальный пульс,
    если он известен по результатам нагрузочного теста.
    В этом случае формула игнорируется, и расчет строится
    на измеренном значении.</p>

    <h3>Формулы расчета максимального пульса</h3>
    <p>Калькулятор поддерживает две формулы для оценки
    максимальной частоты сердечных сокращений (МЧСС).</p>

    <p><strong>Формула Фокса (1971):</strong></p>
    <ul>
        <li>МЧСС = 220 - возраст</li>
        <li>Самая известная формула в мире. Проста
        в запоминании, но систематически завышает пульс
        у молодых и занижает у людей старше 40</li>
        <li>Стандартное отклонение около 10-12 ударов
        в минуту - ваш реальный максимум может заметно
        отличаться от расчетного</li>
    </ul>

    <p><strong>Формула Танаки (2001):</strong></p>
    <ul>
        <li>МЧСС = 208 - 0,7 x возраст</li>
        <li>Разработана на основе мета-анализа 351
        исследования с участием 18 712 человек</li>
        <li>Точнее для людей старше 40 лет: в 60 лет
        дает 166 ударов вместо 160 по формуле Фокса</li>
    </ul>

    <p><strong>Формула Карвонена (расчет зон):</strong></p>
    <ul>
        <li>Резерв ЧСС = МЧСС - пульс покоя</li>
        <li>Нижняя граница зоны = резерв ЧСС x нижний %
        + пульс покоя</li>
        <li>Верхняя граница зоны = резерв ЧСС x верхний %
        + пульс покоя</li>
    </ul>

    <p><strong>Пример:</strong> возраст 35 лет, пульс
    покоя 62 уд/мин. МЧСС по Фоксу = 220 - 35 = 185.
    Резерв ЧСС = 185 - 62 = 123. Зона 2 (60-70%):
    нижняя граница = 123 x 0,6 + 62 = 136 уд/мин,
    верхняя = 123 x 0,7 + 62 = 148 уд/мин.
    Без Карвонена зона 2 была бы 111-130. Разница
    существенная, особенно для тренированных людей
    с низким пульсом покоя.</p>

    <h3>Как измерить пульс покоя</h3>
    <p>Пульс покоя - частота сердцебиения в состоянии
    полного физического и эмоционального покоя. Это
    один из простых маркеров состояния сердечно-сосудистой
    системы: у тренированных людей он обычно ниже.</p>

    <p>Лучший способ - утреннее измерение. Проснитесь,
    не вставайте с кровати, полежите спокойно пару
    минут. Нащупайте пульс на запястье или на шее
    и посчитайте удары за 60 секунд. Повторите три
    утра подряд и возьмите среднее значение.</p>

    <p>Если у вас фитнес-браслет или смарт-часы с
    оптическим датчиком - посмотрите данные о пульсе
    покоя в приложении. Большинство устройств измеряют
    его автоматически ночью или рано утром.
    Типичный диапазон для взрослых: 60-80 уд/мин.
    У спортсменов на выносливость пульс покоя может
    опускаться до 40-50 уд/мин и ниже.</p>

    <h3>Для чего тренироваться в каждой зоне</h3>
    <ul>
        <li><strong>Зона 1 (50-60% МЧСС) -
        восстановление.</strong> Разминка, заминка,
        легкие прогулки. Подходит для восстановительных
        дней между тяжелыми тренировками. Организм
        работает полностью за счет аэробного метаболизма,
        основное топливо - жиры</li>
        <li><strong>Зона 2 (60-70% МЧСС) -
        жиросжигание и база.</strong> Длительный бег,
        велосипед, плавание в умеренном темпе. Именно
        здесь формируется аэробная база: растет
        количество митохондрий, улучшается способность
        мышц использовать жиры. Можно разговаривать,
        но не петь</li>
        <li><strong>Зона 3 (70-80% МЧСС) -
        аэробная выносливость.</strong> Темповые пробежки,
        марафонский темп. Тренирует сердечно-сосудистую
        систему, повышает аэробную мощность. Говорить
        можно короткими фразами</li>
        <li><strong>Зона 4 (80-90% МЧСС) -
        анаэробный порог.</strong> Интервалы, пороговые
        тренировки, гонки на 5-10 км. Организм работает
        на границе между аэробным и анаэробным
        метаболизмом. Лактат накапливается, дыхание
        тяжелое. Разговаривать трудно</li>
        <li><strong>Зона 5 (90-100% МЧСС) -
        максимальная нагрузка.</strong> Спринты, финишные
        ускорения, короткие интервалы до 2-3 минут.
        Тренирует анаэробную мощность и скорость.
        Долго находиться в этой зоне невозможно
        физиологически</li>
    </ul>

    <h3>Зачем тренироваться по пульсу</h3>
    <p>Контроль пульса решает одну задачу: не дает
    тренироваться слишком тяжело, когда нужно легко,
    и наоборот. Без пульсометра большинство людей
    попадают в «серую зону» - тренируются в зоне 3,
    думая, что бегут легко. Такая нагрузка слишком
    высока для восстановления и слишком низка для
    развития скорости.</p>

    <p>Пульсовые зоны помогают строить тренировочный
    план с разной интенсивностью. Принцип простой:
    большая часть тренировок (70-80% объема) проходит
    в зонах 1-2, остальное - в зонах 4-5. Это не новая
    идея. Анализ тренировочных дневников элитных
    спортсменов показывает ту же картину: много
    легкой работы, немного тяжелой, минимум середины.</p>

    <h3>Когда формулы не работают</h3>
    <p>Формулы рассчитывают статистическое среднее.
    Ваш реальный максимальный пульс может отличаться
    на 10-15 ударов. Это значит, что все зоны
    сместятся на столько же - а это существенно.</p>

    <ul>
        <li>Бета-блокаторы и другие кардиопрепараты
        искусственно снижают пульс - формулы в таких
        случаях не применимы без консультации врача</li>
        <li>У тренированных спортсменов реальный
        максимум часто ниже расчетного, а пульс
        покоя значительно ниже среднего - метод
        Карвонена компенсирует это лишь частично</li>
        <li>Жара, обезвоживание, недосып и стресс
        поднимают пульс на 5-15 ударов при той же
        нагрузке. Зоны не сдвигаются, а реакция
        организма меняется</li>
        <li>Максимальный пульс зависит от вида спорта:
        при беге он обычно выше, чем при велосипеде,
        на 5-10 ударов. Зоны стоит рассчитывать
        для каждого вида отдельно</li>
        <li>С возрастом максимальный пульс снижается,
        но не строго по формуле. Пересчитывайте зоны
        хотя бы раз в год или после длительного
        перерыва</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Две формулы максимального пульса на выбор -
        классическая «220 - возраст» и более точная
        формула Танаки для людей старше 40</li>
        <li>Автоматический переход на метод Карвонена
        при вводе пульса покоя - не нужно выбирать
        метод вручную</li>
        <li>Возможность ввести реальный максимальный
        пульс, если он известен по результатам
        нагрузочного теста</li>
        <li>Пять зон с названиями, диапазонами
        в ударах в минуту и кратким описанием
        назначения каждой - все на одном экране</li>
        <li>Визуальное отображение зон с цветовой
        маркировкой для быстрого восприятия</li>
        <li>Справочная таблица зон для разных
        возрастов рядом с калькулятором - можно
        сравнить свой результат с типичными значениями</li>
    </ul>

    <h3>Кому нужна консультация врача перед тренировками по пульсу</h3>
    <p>Калькулятор рассчитывает зоны для здоровых людей.
    Если у вас есть заболевания сердечно-сосудистой
    системы, пульсовые зоны определяет кардиолог
    по результатам ЭКГ с нагрузкой или
    кардиопульмонального теста.</p>

    <ul>
        <li>Гипертония, аритмия, ишемическая болезнь
        сердца или пороки клапанов - тренировочные
        пульсовые зоны устанавливает врач</li>
        <li>Прием бета-блокаторов, антиаритмиков
        и других препаратов, влияющих на пульс -
        стандартные формулы дают ошибочные результаты</li>
        <li>Диабет, астма, заболевания щитовидной
        железы - нагрузка требует индивидуальных
        ограничений по пульсу</li>
        <li>Возраст старше 45 лет при отсутствии
        регулярных тренировок в прошлом - перед
        началом интенсивных нагрузок стоит пройти
        кардиологическое обследование</li>
        <li>Частые головокружения, боли в груди,
        одышка при умеренной нагрузке - это повод
        обратиться к врачу, а не подбирать зоны
        калькулятором</li>
    </ul>


    <h2>Факты и мнения о тренировках по пульсу</h2>

    <h3>Мнение эксперта</h3>
    <p>Иньиго Сан-Мильян, доктор наук, профессор
    медицинского факультета Университета Колорадо
    и тренер победителя Тур де Франс Тадея Погачара,
    посвятил более 25 лет изучению связи между
    интенсивностью тренировок и работой митохондрий.
    По его наблюдениям, тренировки во второй пульсовой
    зоне - самый эффективный стимул для роста
    количества и качества митохондрий в мышцах.
    Митохондрии - это клеточные структуры, которые
    превращают жиры и углеводы в энергию. Чем лучше
    они работают, тем выше выносливость и тем ниже
    риск метаболических заболеваний: диабета второго
    типа, сердечно-сосудистых болезней, ожирения.</p>

    <p>Сан-Мильян подчеркивает: чтобы получить эффект,
    важно точно определить свою вторую зону. Тренировка
    чуть выше нужного порога переключает метаболизм на
    другие пути, и стимул для митохондрий теряется.
    Именно поэтому он настаивает на лабораторном
    тестировании с измерением уровня лактата, а формулы
    рассматривает как первое приближение для тех, кому
    лаборатория недоступна.</p>

    <h3>Исторический факт</h3>
    <p>Формула «220 минус возраст» - самая цитируемая
    формула в спортивной медицине - никогда не была
    результатом научного исследования. В 1971 году
    американские ученые Сэм Фокс и Уильям Хаскелл
    просмотрели данные примерно десяти ранее
    опубликованных работ, нанесли точки на график
    и на глаз провели линию, которая показалась
    подходящей. Сам Хаскелл позже говорил, что
    формула не задумывалась как универсальный закон,
    и его удивляло, как далеко она зашла. Несмотря
    на стандартное отклонение в 10-12 ударов в минуту,
    эта формула до сих пор остается стандартом в
    фитнес-индустрии - просто потому, что ее легко
    запомнить.</p>

    <h3>Современные исследования</h3>
    <p>В 2024 году в журнале Sports Medicine вышел
    систематический обзор и мета-анализ, посвященный
    сравнению разных моделей распределения тренировочной
    интенсивности. Исследователи из Университета Порту
    проанализировали накопленные данные и пришли к
    выводу, что поляризованная модель - когда 80%
    тренировочного объема приходится на низкие зоны
    (1-2), а 20% на высокие (4-5), практически
    без работы в средней зоне 3 - показывает лучшие
    результаты по приросту максимального потребления
    кислорода (VO2max) у спортсменов на выносливость.
    Этот принцип подтверждает то, что тренеры элитных
    бегунов, велосипедистов и лыжников применяют
    интуитивно уже десятилетия.</p>

    <h3>Внимание</h3>
    <p>Информация на этой странице носит справочный
    и образовательный характер. Калькулятор не заменяет
    консультацию спортивного врача, кардиолога или
    тренера. Перед началом интенсивных тренировок -
    особенно если у вас есть хронические заболевания,
    вы принимаете препараты, влияющие на пульс,
    или давно не занимались спортом - проконсультируйтесь
    с врачом. Пульсовые зоны, рассчитанные по
    формулам, могут не совпадать с вашими
    реальными физиологическими порогами.</p>

</div>

<script>
let formula = 'fox';

function switchFormula(type) {
    formula = type;
    document.getElementById('btnFox')
        .classList.toggle('active', type === 'fox');
    document.getElementById('btnTanaka')
        .classList.toggle('active', type === 'tanaka');

    var hintEl = document.getElementById('formulaHint');
    if (type === 'tanaka') {
        hintEl.textContent =
            'Формула Танаки (2001) разработана на основе ' +
            'мета-анализа 18 712 человек. Точнее для ' +
            'людей старше 40 лет.';
    } else {
        hintEl.textContent =
            'Классическая формула «220 - возраст» проще, ' +
            'но формула Танаки точнее для людей старше 40 лет.';
    }

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function toggleCustomHR() {
    var checked = document.getElementById('useCustomHR').checked;
    var block = document.getElementById('customHRBlock');
    if (checked) {
        block.classList.add('visible');
    } else {
        block.classList.remove('visible');
        document.getElementById('customMaxHR').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 calculateZones() {
    var age = parseInt(document.getElementById('age').value);
    var restingHR = document.getElementById('restingHR').value;
    var useCustom = document.getElementById('useCustomHR').checked;
    var customMax = parseInt(
        document.getElementById('customMaxHR').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация возраста
    if (!useCustom && (isNaN(age) || age < 10 || age > 99)) {
        showError(
            'Введите возраст от 10 до 99 лет. ' +
            'Он нужен для расчета максимального пульса.'
        );
        return;
    }

    // Валидация максимального пульса
    if (useCustom && (isNaN(customMax) ||
        customMax < 120 || customMax > 230)) {
        showError(
            'Введите максимальный пульс от 120 до 230 ' +
            'уд/мин. Если не уверены в значении - ' +
            'снимите галочку и воспользуйтесь расчетом ' +
            'по формуле.'
        );
        return;
    }

    // Парсим пульс покоя (может быть пустым)
    var hasResting = false;
    var rhr = 0;
    if (restingHR !== '' && restingHR !== undefined) {
        rhr = parseInt(restingHR);
        if (isNaN(rhr) || rhr < 30 || rhr > 120) {
            showError(
                'Пульс покоя должен быть от 30 до 120 ' +
                'уд/мин. Измерьте утром, не вставая ' +
                'с кровати, или оставьте поле пустым.'
            );
            return;
        }
        hasResting = true;
    }

    // Расчет максимального пульса
    var maxHR;
    var formulaName;
    if (useCustom) {
        maxHR = customMax;
        formulaName = 'измеренный';
    } else if (formula === 'tanaka') {
        maxHR = Math.round(208 - 0.7 * age);
        formulaName = 'Танака';
    } else {
        maxHR = 220 - age;
        formulaName = '220 - возраст';
    }

    // Проверка соотношения
    if (hasResting && rhr >= maxHR) {
        showError(
            'Пульс покоя (' + rhr + ') не может быть ' +
            'равен или выше максимального пульса (' +
            maxHR + '). Проверьте введенные данные.'
        );
        return;
    }

    // Определение метода и расчет зон
    var methodName;
    var zones = [
        {
            name: 'Зона 1',
            label: 'Восстановление',
            low: 0.50, high: 0.60,
            desc: 'Разминка, заминка, легкие прогулки'
        },
        {
            name: 'Зона 2',
            label: 'Жиросжигание',
            low: 0.60, high: 0.70,
            desc: 'Аэробная база, длительные тренировки'
        },
        {
            name: 'Зона 3',
            label: 'Аэробная',
            low: 0.70, high: 0.80,
            desc: 'Темповый бег, марафонский темп'
        },
        {
            name: 'Зона 4',
            label: 'Пороговая',
            low: 0.80, high: 0.90,
            desc: 'Интервалы, пороговые тренировки'
        },
        {
            name: 'Зона 5',
            label: 'Максимальная',
            low: 0.90, high: 1.00,
            desc: 'Спринты, финишные ускорения'
        }
    ];

    if (hasResting) {
        methodName = 'Карвонен';
        var hrr = maxHR - rhr;
        for (var i = 0; i < zones.length; i++) {
            zones[i].bpmLow = Math.round(
                hrr * zones[i].low + rhr
            );
            zones[i].bpmHigh = Math.round(
                hrr * zones[i].high + rhr
            );
        }
    } else {
        methodName = '% от МЧСС';
        for (var i = 0; i < zones.length; i++) {
            zones[i].bpmLow = Math.round(
                maxHR * zones[i].low
            );
            zones[i].bpmHigh = Math.round(
                maxHR * zones[i].high
            );
        }
    }

    // Параметры расчета
    var paramsHTML =
        '<span>Формула МЧСС: <strong>' +
        formulaName + '</strong></span>';
    if (!useCustom) {
        paramsHTML +=
            '<span>Возраст: <strong>' +
            age + ' лет</strong></span>';
    }
    if (hasResting) {
        paramsHTML +=
            '<span>Пульс покоя: <strong>' +
            rhr + ' уд/мин</strong></span>' +
            '<span>Метод: <strong>Карвонен ' +
            '(резерв ЧСС = ' + (maxHR - rhr) +
            ')</strong></span>';
    } else {
        paramsHTML +=
            '<span>Метод: <strong>% от МЧСС' +
            '</strong></span>';
    }

    document.getElementById('resultParams').innerHTML =
        paramsHTML;
    document.getElementById('maxHRResult').textContent =
        maxHR;

    // Визуализация зон
    var zonesHTML = '';
    for (var i = 0; i < zones.length; i++) {
        var z = zones[i];
        var pctLow = Math.round(z.low * 100);
        var pctHigh = Math.round(z.high * 100);
        zonesHTML +=
            '<div class="zone-bar zone-' + (i + 1) + '">' +
            '<div class="zone-label">' + z.name + '</div>' +
            '<div class="zone-info">' +
            '<div class="zone-bpm">' +
            z.bpmLow + ' - ' + z.bpmHigh +
            ' уд/мин</div>' +
            '<div class="zone-desc">' +
            z.label + ' (' + pctLow + '-' + pctHigh +
            '%): ' + z.desc + '</div>' +
            '</div></div>';
    }

    document.getElementById('zonesContainer').innerHTML =
        zonesHTML;

    // Пояснение
    var note = '';
    if (hasResting) {
        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-pulsovyh-zon-pri-trenirovkah/">Калькулятор пульсовых зон при тренировках</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор окружности головы ребёнка по месяцам</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-okruzhnosti-golovy-rebyonka-po-mesyaczam/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 06:54:33 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5638</guid>

					<description><![CDATA[<p>Рассчитать окружность головы ребенка онлайн Пол ребенка: Мальчик Девочка Возраст ребенка (полных месяцев): Выберите возрастПри рождении (0 мес.)1 месяц2 месяца3 месяца4 месяца5 месяцев6 месяцев7 месяцев8 месяцев9 месяцев10 месяцев11 месяцев12 месяцев (1 год)13 месяцев14 месяцев15 месяцев16 месяцев17 месяцев18 месяцев (1,5 года)19 месяцев20 месяцев21 месяц22 месяца23 месяца24 месяца (2 года)25 месяцев26 месяцев27 месяцев28 месяцев29 месяцев30 месяцев (2,5 [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-okruzhnosti-golovy-rebyonka-po-mesyaczam/">Калькулятор окружности головы ребёнка по месяцам</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5638" class="elementor elementor-5638" 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;
}
.status-normal {
    color: #2e7d32;
    font-weight: bold;
}
.status-warning {
    color: #e65100;
    font-weight: bold;
}
.status-alert {
    color: #c62828;
    font-weight: bold;
}
.norm-bar {
    position: relative;
    height: 32px;
    background: linear-gradient(to right, #ffcdd2 0%, #fff9c4 15%, #c8e6c9 30%, #c8e6c9 70%, #fff9c4 85%, #ffcdd2 100%);
    border-radius: 6px;
    margin: 12px 0;
    overflow: visible;
}
.norm-marker {
    position: absolute;
    top: -4px;
    width: 4px;
    height: 40px;
    background: #0457B5;
    border-radius: 2px;
    transform: translateX(-50%);
}
.norm-marker-label {
    position: absolute;
    top: -22px;
    transform: translateX(-50%);
    font-size: 12px;
    font-weight: bold;
    color: #0457B5;
    white-space: nowrap;
}
.norm-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #888;
    margin-top: 2px;
}
</style>

<div class="content-section">
    <h2>Рассчитать окружность головы ребенка онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Пол ребенка:</label>
            <div class="carb-toggle">
                <button id="btnBoy" class="active"
                        onclick="switchSex('boy')">
                    Мальчик
                </button>
                <button id="btnGirl"
                        onclick="switchSex('girl')">
                    Девочка
                </button>
            </div>
        </div>

        <div class="calculator-input">
            <label for="ageMonths">
                Возраст ребенка (полных месяцев):
            </label>
            <select id="ageMonths">
                <option value="" disabled selected>Выберите возраст</option>
                <option value="0">При рождении (0 мес.)</option>
                <option value="1">1 месяц</option>
                <option value="2">2 месяца</option>
                <option value="3">3 месяца</option>
                <option value="4">4 месяца</option>
                <option value="5">5 месяцев</option>
                <option value="6">6 месяцев</option>
                <option value="7">7 месяцев</option>
                <option value="8">8 месяцев</option>
                <option value="9">9 месяцев</option>
                <option value="10">10 месяцев</option>
                <option value="11">11 месяцев</option>
                <option value="12">12 месяцев (1 год)</option>
                <option value="13">13 месяцев</option>
                <option value="14">14 месяцев</option>
                <option value="15">15 месяцев</option>
                <option value="16">16 месяцев</option>
                <option value="17">17 месяцев</option>
                <option value="18">18 месяцев (1,5 года)</option>
                <option value="19">19 месяцев</option>
                <option value="20">20 месяцев</option>
                <option value="21">21 месяц</option>
                <option value="22">22 месяца</option>
                <option value="23">23 месяца</option>
                <option value="24">24 месяца (2 года)</option>
                <option value="25">25 месяцев</option>
                <option value="26">26 месяцев</option>
                <option value="27">27 месяцев</option>
                <option value="28">28 месяцев</option>
                <option value="29">29 месяцев</option>
                <option value="30">30 месяцев (2,5 года)</option>
                <option value="31">31 месяц</option>
                <option value="32">32 месяца</option>
                <option value="33">33 месяца</option>
                <option value="34">34 месяца</option>
                <option value="35">35 месяцев</option>
                <option value="36">36 месяцев (3 года)</option>
            </select>
            <div class="input-hint">
                Укажите число полных месяцев. Если ребенку 3 месяца
                и 20 дней - выбирайте 3 месяца.
            </div>
        </div>

        <div class="calculator-input">
            <label for="headCirc">
                Окружность головы (см):
            </label>
            <input type="number" id="headCirc" min="25" max="60"
                   step="0.1" placeholder="Например: 40.5">
            <div class="input-hint">
                Измерьте сантиметровой лентой по самой широкой
                части: спереди - по линии бровей, сзади - по
                затылочному бугру. Лента плотно, без натяжения.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateHead()">
            Сравнить с нормой
        </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="measuredValue">-</span>
                &nbsp;см
            </div>

            <div class="dose-row">
                <strong>Норма для этого возраста (медиана ВОЗ):</strong><br>
                <span class="dose-highlight" id="medianValue">-</span>
                &nbsp;см
            </div>

            <div class="dose-row">
                <strong>Допустимый диапазон (-2 SD ... +2 SD):</strong><br>
                <span class="dose-highlight" id="rangeValue">-</span>
                &nbsp;см
            </div>

            <div id="normBarContainer" style="margin: 14px 0;">
                <div class="norm-bar" id="normBar">
                    <div class="norm-marker" id="normMarker">
                        <div class="norm-marker-label" id="normMarkerLabel"></div>
                    </div>
                </div>
                <div class="norm-labels">
                    <span id="barLabelLeft"></span>
                    <span>медиана</span>
                    <span id="barLabelRight"></span>
                </div>
            </div>

            <div class="dose-row-primary">
                <strong>Оценка:</strong><br>
                <span id="assessment"></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>

    <p>Лента проходит спереди по надбровным дугам (не по лбу выше и не по
    глазам), а сзади - по самой выступающей точке затылка. Это затылочный бугор,
    его легко нащупать пальцами. Лента лежит горизонтально и плотно прилегает
    к коже, но не сдавливает голову. Прочитайте результат с точностью до миллиметра.</p>

    <p>Новорожденным измерение проводят не раньше третьего дня жизни. В первые
    двое суток после родов форма головы может быть вытянутой из-за прохождения
    через родовые пути, и показатель будет неточным.</p>

    <h3>Таблица норм окружности головы для мальчиков (ВОЗ)</h3>
    <p>Значения в сантиметрах по стандартам Всемирной организации здравоохранения.
    Диапазон от -2 SD до +2 SD охватывает примерно 95% здоровых детей.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Возраст</th>
                <th>-2 SD</th>
                <th>-1 SD</th>
                <th>Медиана</th>
                <th>+1 SD</th>
                <th>+2 SD</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>0 мес.</td><td>31,9</td><td>33,2</td><td>34,5</td><td>35,7</td><td>37,0</td></tr>
            <tr><td>1 мес.</td><td>34,9</td><td>36,1</td><td>37,3</td><td>38,4</td><td>39,6</td></tr>
            <tr><td>2 мес.</td><td>36,8</td><td>38,0</td><td>39,1</td><td>40,3</td><td>41,5</td></tr>
            <tr><td>3 мес.</td><td>38,1</td><td>39,3</td><td>40,5</td><td>41,7</td><td>42,9</td></tr>
            <tr><td>4 мес.</td><td>39,2</td><td>40,4</td><td>41,6</td><td>42,8</td><td>44,0</td></tr>
            <tr><td>5 мес.</td><td>40,1</td><td>41,4</td><td>42,6</td><td>43,8</td><td>45,0</td></tr>
            <tr><td>6 мес.</td><td>40,9</td><td>42,1</td><td>43,3</td><td>44,6</td><td>45,8</td></tr>
            <tr><td>9 мес.</td><td>42,5</td><td>43,7</td><td>45,0</td><td>46,2</td><td>47,5</td></tr>
            <tr><td>12 мес.</td><td>43,5</td><td>44,8</td><td>46,1</td><td>47,4</td><td>48,6</td></tr>
            <tr><td>18 мес.</td><td>44,7</td><td>46,0</td><td>47,4</td><td>48,7</td><td>50,0</td></tr>
            <tr><td>24 мес.</td><td>45,5</td><td>46,9</td><td>48,3</td><td>49,6</td><td>50,9</td></tr>
            <tr><td>36 мес.</td><td>46,5</td><td>47,9</td><td>49,3</td><td>50,7</td><td>52,1</td></tr>
        </tbody>
    </table>

    <h3>Таблица норм окружности головы для девочек (ВОЗ)</h3>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Возраст</th>
                <th>-2 SD</th>
                <th>-1 SD</th>
                <th>Медиана</th>
                <th>+1 SD</th>
                <th>+2 SD</th>
            </tr>
        </thead>
        <tbody>
            <tr><td>0 мес.</td><td>31,5</td><td>32,7</td><td>33,9</td><td>35,1</td><td>36,2</td></tr>
            <tr><td>1 мес.</td><td>34,2</td><td>35,4</td><td>36,5</td><td>37,7</td><td>38,9</td></tr>
            <tr><td>2 мес.</td><td>35,8</td><td>37,0</td><td>38,3</td><td>39,5</td><td>40,7</td></tr>
            <tr><td>3 мес.</td><td>37,1</td><td>38,3</td><td>39,5</td><td>40,8</td><td>42,0</td></tr>
            <tr><td>4 мес.</td><td>38,1</td><td>39,3</td><td>40,6</td><td>41,8</td><td>43,1</td></tr>
            <tr><td>5 мес.</td><td>38,9</td><td>40,2</td><td>41,5</td><td>42,7</td><td>44,0</td></tr>
            <tr><td>6 мес.</td><td>39,6</td><td>40,9</td><td>42,2</td><td>43,5</td><td>44,8</td></tr>
            <tr><td>9 мес.</td><td>41,2</td><td>42,5</td><td>43,8</td><td>45,2</td><td>46,5</td></tr>
            <tr><td>12 мес.</td><td>42,2</td><td>43,5</td><td>44,9</td><td>46,3</td><td>47,6</td></tr>
            <tr><td>18 мес.</td><td>43,4</td><td>44,8</td><td>46,2</td><td>47,6</td><td>49,0</td></tr>
            <tr><td>24 мес.</td><td>44,3</td><td>45,7</td><td>47,1</td><td>48,5</td><td>49,9</td></tr>
            <tr><td>36 мес.</td><td>45,3</td><td>46,8</td><td>48,2</td><td>49,6</td><td>51,1</td></tr>
        </tbody>
    </table>

    <h3>Описание калькулятора окружности головы</h3>
    <p>Калькулятор сопоставляет измеренную окружность головы ребенка с
    референсными значениями ВОЗ. Вы вводите три параметра: пол, возраст
    в полных месяцах и результат замера в сантиметрах. На выходе - медиана
    для возраста, допустимый коридор от -2 до +2 стандартных отклонений
    и оценка, где находится ваш показатель.</p>

    <p>Визуальная шкала показывает положение измерения на фоне нормы.
    Зеленая зона в центре - значения около медианы. Желтая полоса ближе
    к краям - умеренные отклонения. Красные края - зона значительных
    отклонений, которые требуют внимания специалиста.</p>

    <p>Калькулятор работает с нормами для детей от рождения до 36 месяцев.
    Для старших возрастов нужны другие референсные таблицы.</p>

    <h3>Зачем измерять окружность головы</h3>
    <p>Голова новорожденного растет быстрее остального тела. За первый
    год окружность увеличивается в среднем на 12 см - это больше, чем
    за все последующие годы вместе. Такой темп отражает стремительное
    развитие мозга: к году его масса утраивается.</p>

    <p>Именно поэтому педиатры измеряют голову на каждом плановом осмотре
    в первые два года жизни. Окружность головы - косвенный, но надежный
    индикатор того, что мозг развивается в ожидаемом темпе. Слишком быстрый
    рост может указывать на повышенное внутричерепное давление или
    гидроцефалию. Слишком медленный - на микроцефалию или нарушения
    развития.</p>

    <p>Важна не только абсолютная цифра, но и динамика. Один замер -
    это точка, а врачу нужна кривая. Ребенок с головой на уровне -1 SD
    при рождении и -1 SD в год развивается нормально, просто по нижней
    границе. А ребенок, который за три месяца съехал с медианы до -2 SD,
    нуждается в обследовании, даже если текущее значение формально
    в допустимых пределах.</p>

    <h3>Что влияет на размер головы ребенка</h3>
    <p>Генетика - главный фактор. У крупных родителей с большой головой
    дети обычно тоже имеют окружность выше средней, и наоборот. Если у
    обоих родителей голова в верхнем коридоре нормы, ребенок с показателем
    +1...+2 SD, скорее всего, просто унаследовал семейную особенность.</p>

    <p>Другие факторы: срок гестации (недоношенные дети имеют меньшую
    окружность, но к 2-3 годам обычно догоняют сверстников), питание
    матери во время беременности, масса тела при рождении, способ
    родоразрешения (после кесарева сечения голова при рождении чуть
    округлее), а также тип вскармливания в первые месяцы.</p>

    <p>Этническая принадлежность тоже вносит свой вклад. Нормы ВОЗ
    построены на данных из шести стран и шести этнических групп, поэтому
    считаются универсальными. Но отдельные популяции могут незначительно
    отличаться, и педиатр учитывает это при оценке.</p>

    <h3>Когда стоит обратиться к врачу</h3>
    <p>Сам калькулятор не ставит диагнозов. Но есть ситуации, когда после
    измерения нужно показать ребенка педиатру или неврологу.</p>

    <ul>
        <li>Окружность головы ниже -2 SD или выше +2 SD - выходит за
        пределы стандартного коридора ВОЗ</li>
        <li>Резкий скачок или замедление роста - окружность пересекла один
        или два коридора за короткий период</li>
        <li>Большой родничок не уменьшается к 12 месяцам или, наоборот,
        закрылся слишком рано (до 3 месяцев)</li>
        <li>Форма головы заметно асимметрична, или лоб сильно
        выступает вперед</li>
        <li>Ребенок часто и обильно срыгивает, запрокидывает голову, плохо
        фиксирует взгляд - в сочетании с нетипичной окружностью головы
        это повод для углубленного обследования</li>
    </ul>

    <p>При подозрениях врач назначает нейросонографию (УЗИ через родничок),
    а при необходимости - МРТ. Большинство отклонений, выявленных рано,
    хорошо поддаются коррекции.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Моментальное сравнение с нормами ВОЗ для мальчиков и девочек
        от 0 до 36 месяцев - без ручного поиска по таблицам</li>
        <li>Визуальная шкала показывает позицию измерения внутри нормы -
        понятно с первого взгляда</li>
        <li>Разъяснение результата простым языком - не только цифры, но и
        что они означают</li>
        <li>Предупреждения при значительных отклонениях с конкретными
        рекомендациями</li>
        <li>Справочные таблицы рядом - можно сверить расчет или посмотреть
        динамику сразу для нескольких месяцев</li>
    </ul>

    <h2>Факты и мнения об окружности головы у детей</h2>

    <h3>Мнение специалиста</h3>
    <p>Л.О. Бадалян, доктор медицинских наук, профессор, академик РАМН
    и автор фундаментального учебника "Детская неврология", многократно
    подчеркивал роль антропометрии в раннем выявлении неврологических
    проблем. По мнению Бадаляна, регулярное измерение окружности головы
    в первые два года жизни - один из самых доступных и при этом
    информативных скрининговых методов. Он указывал, что отклонение
    темпов роста головы от стандартного коридора часто опережает
    появление клинических симптомов на недели и месяцы, а значит, дает
    время для обследования и раннего вмешательства. Систематический замер
    на каждом профилактическом осмотре стоит ноль рублей, занимает
    полминуты - и может изменить прогноз для ребенка.</p>

    <h3>Исторический факт</h3>
    <p>Первые стандартизированные кривые окружности головы для детей
    опубликовал немецко-американский педиатр Герхард Неллхаус в 1968 году
    в журнале Pediatrics. Он собрал и объединил результаты семи крупных
    исследований из разных стран, охвативших более 14 000 детей от рождения
    до 18 лет. Его составные графики стали мировым эталоном, которым
    педиатры пользовались почти 40 лет. Примечательно, что Неллхаус
    обнаружил: при адекватном питании различия между расовыми и этническими
    группами в размерах головы были настолько малы, что укладывались в
    пределы одного стандартного отклонения. Универсальность его кривых
    подтвердилась позже в Многоцентровом исследовании ВОЗ, результаты
    которого легли в основу сегодняшних нормативов.</p>

    <h3>Современное исследование</h3>
    <p>Многоцентровое исследование ВОЗ по разработке стандартов роста
    (MGRS), проведенное в 1997-2003 годах в шести странах (Бразилия,
    Гана, Индия, Норвегия, Оман, США), впервые создало нормативы
    на основе данных о здоровых детях, находящихся на грудном
    вскармливании и живущих в благоприятных условиях. Результаты
    показали, что при оптимальном питании и уходе дети из разных
    регионов мира растут по удивительно схожей траектории, в том числе
    по окружности головы. Стандарты ВОЗ, опубликованные в 2006-2007
    годах, заменили прежние национальные нормативы во многих странах
    и сейчас используются более чем в 140 государствах. Текущие
    исследования продолжают изучать связь между темпом роста окружности
    головы в первый год жизни и когнитивными способностями ребенка
    в школьном возрасте.</p>

    <div class="warning" style="margin-top: 25px;">
        <strong>Дисклеймер.</strong> Калькулятор предназначен для
        информационных целей. Он не заменяет очный осмотр педиатра и не
        может служить основанием для постановки или исключения диагноза.
        Нормы ВОЗ - это статистические ориентиры, а не жесткие границы.
        Если результат вызывает вопросы - обсудите его с лечащим врачом
        ребенка. Только специалист может оценить полную картину: динамику
        роста, неврологический статус, семейный анамнез и другие параметры
        развития.
    </div>

</div>

<script>
let sex = 'boy';

// WHO Head circumference-for-age, 0-36 months
// [month]: [-2SD, -1SD, Median, +1SD, +2SD]
const boysData = {
    0:[31.9,33.2,34.5,35.7,37.0],
    1:[34.9,36.1,37.3,38.4,39.6],
    2:[36.8,38.0,39.1,40.3,41.5],
    3:[38.1,39.3,40.5,41.7,42.9],
    4:[39.2,40.4,41.6,42.8,44.0],
    5:[40.1,41.4,42.6,43.8,45.0],
    6:[40.9,42.1,43.3,44.6,45.8],
    7:[41.5,42.7,44.0,45.2,46.4],
    8:[42.0,43.3,44.5,45.8,47.0],
    9:[42.5,43.7,45.0,46.2,47.5],
    10:[42.9,44.1,45.4,46.6,47.9],
    11:[43.2,44.5,45.8,47.0,48.3],
    12:[43.5,44.8,46.1,47.4,48.6],
    13:[43.8,45.0,46.3,47.6,48.9],
    14:[44.0,45.3,46.6,47.9,49.2],
    15:[44.2,45.5,46.8,48.1,49.4],
    16:[44.4,45.7,47.0,48.3,49.6],
    17:[44.6,45.9,47.2,48.5,49.8],
    18:[44.7,46.0,47.4,48.7,50.0],
    19:[44.9,46.2,47.5,48.8,50.2],
    20:[45.0,46.4,47.7,49.0,50.3],
    21:[45.2,46.5,47.8,49.2,50.5],
    22:[45.3,46.6,48.0,49.3,50.6],
    23:[45.4,46.8,48.1,49.5,50.8],
    24:[45.5,46.9,48.3,49.6,50.9],
    25:[45.6,47.0,48.4,49.7,51.1],
    26:[45.8,47.1,48.5,49.8,51.2],
    27:[45.9,47.2,48.6,49.9,51.3],
    28:[46.0,47.3,48.7,50.0,51.4],
    29:[46.0,47.4,48.8,50.1,51.5],
    30:[46.1,47.5,48.9,50.2,51.6],
    31:[46.2,47.6,48.9,50.3,51.7],
    32:[46.3,47.6,49.0,50.4,51.8],
    33:[46.3,47.7,49.1,50.5,51.8],
    34:[46.4,47.8,49.2,50.5,51.9],
    35:[46.5,47.8,49.2,50.6,52.0],
    36:[46.5,47.9,49.3,50.7,52.1]
};

const girlsData = {
    0:[31.5,32.7,33.9,35.1,36.2],
    1:[34.2,35.4,36.5,37.7,38.9],
    2:[35.8,37.0,38.3,39.5,40.7],
    3:[37.1,38.3,39.5,40.8,42.0],
    4:[38.1,39.3,40.6,41.8,43.1],
    5:[38.9,40.2,41.5,42.7,44.0],
    6:[39.6,40.9,42.2,43.5,44.8],
    7:[40.2,41.5,42.8,44.1,45.5],
    8:[40.7,42.0,43.4,44.7,46.0],
    9:[41.2,42.5,43.8,45.2,46.5],
    10:[41.5,42.9,44.2,45.6,46.9],
    11:[41.9,43.2,44.6,45.9,47.3],
    12:[42.2,43.5,44.9,46.3,47.6],
    13:[42.4,43.8,45.2,46.5,47.9],
    14:[42.7,44.0,45.4,46.8,48.2],
    15:[42.9,44.3,45.6,47.0,48.4],
    16:[43.1,44.5,45.8,47.2,48.6],
    17:[43.3,44.6,46.0,47.4,48.8],
    18:[43.4,44.8,46.2,47.6,49.0],
    19:[43.6,45.0,46.4,47.8,49.2],
    20:[43.7,45.1,46.5,47.9,49.3],
    21:[43.9,45.3,46.7,48.1,49.5],
    22:[44.0,45.4,46.8,48.2,49.6],
    23:[44.1,45.6,47.0,48.4,49.8],
    24:[44.3,45.7,47.1,48.5,49.9],
    25:[44.4,45.8,47.2,48.6,50.0],
    26:[44.5,45.9,47.3,48.7,50.1],
    27:[44.6,46.0,47.4,48.9,50.3],
    28:[44.7,46.1,47.5,49.0,50.4],
    29:[44.8,46.2,47.6,49.1,50.5],
    30:[44.9,46.3,47.7,49.1,50.6],
    31:[44.9,46.4,47.8,49.2,50.7],
    32:[45.0,46.5,47.9,49.3,50.8],
    33:[45.1,46.5,48.0,49.4,50.8],
    34:[45.2,46.6,48.0,49.5,50.9],
    35:[45.2,46.7,48.1,49.6,51.0],
    36:[45.3,46.8,48.2,49.6,51.1]
};

function switchSex(s) {
    sex = s;
    document.getElementById('btnBoy')
        .classList.toggle('active', s === 'boy');
    document.getElementById('btnGirl')
        .classList.toggle('active', s === 'girl');
    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 calculateHead() {
    var ageSelect = document.getElementById('ageMonths');
    var headInput = document.getElementById('headCirc');
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var ageVal = ageSelect.value;
    if (ageVal === '') {
        showError('Выберите возраст ребенка в месяцах.');
        return;
    }
    var age = parseInt(ageVal, 10);

    var hc = parseFloat(headInput.value);
    if (isNaN(hc) || hc < 25 || hc > 60) {
        showError(
            'Введите окружность головы от 25 до 60 см. ' +
            'Измерьте сантиметровой лентой по линии бровей и затылочному бугру.'
        );
        return;
    }

    var data = sex === 'boy' ? boysData : girlsData;
    var norms = data[age];
    // norms: [sd2neg, sd1neg, median, sd1pos, sd2pos]
    var sd2neg = norms[0];
    var sd1neg = norms[1];
    var median = norms[2];
    var sd1pos = norms[3];
    var sd2pos = norms[4];

    var sexLabel = sex === 'boy' ? 'мальчик' : 'девочка';
    var ageLabel = age === 0 ? 'при рождении' : age + ' мес.';

    document.getElementById('resultParams').innerHTML =
        '<span>Пол: <strong>' + sexLabel + '</strong></span>' +
        '<span>Возраст: <strong>' + ageLabel + '</strong></span>';

    document.getElementById('measuredValue').textContent =
        hc.toFixed(1);
    document.getElementById('medianValue').textContent =
        median.toFixed(1);
    document.getElementById('rangeValue').textContent =
        sd2neg.toFixed(1) + ' ... ' + sd2pos.toFixed(1);

    // Norm bar
    var barMin = sd2neg - (sd2pos - sd2neg) * 0.2;
    var barMax = sd2pos + (sd2pos - sd2neg) * 0.2;
    var totalRange = barMax - barMin;
    var markerPos = ((hc - barMin) / totalRange) * 100;
    markerPos = Math.max(2, Math.min(98, markerPos));

    var marker = document.getElementById('normMarker');
    marker.style.left = markerPos + '%';

    var markerLabel = document.getElementById('normMarkerLabel');
    markerLabel.textContent = hc.toFixed(1) + ' см';

    document.getElementById('barLabelLeft').textContent =
        sd2neg.toFixed(1) + ' (-2 SD)';
    document.getElementById('barLabelRight').textContent =
        sd2pos.toFixed(1) + ' (+2 SD)';

    // Assessment
    var assessEl = document.getElementById('assessment');
    var noteEl = document.getElementById('resultNote');
    var diff = hc - median;
    var diffText = (diff >= 0 ? '+' : '') + diff.toFixed(1) + ' см от медианы';

    if (hc < sd2neg) {
        assessEl.innerHTML =
            '<span class="status-alert">Значительно ниже нормы</span>' +
            '<br>' + diffText;
        noteEl.textContent =
            'Окружность головы ниже -2 стандартных отклонений. ' +
            'Это может указывать на микроцефалию или замедленный рост ' +
            'мозга. Покажите ребенка педиатру и неврологу. Врач оценит ' +
            'динамику, проверит неврологический статус и при необходимости ' +
            'назначит нейросонографию. Помните, что единичное измерение - ' +
            'это еще не диагноз. Генетика, недоношенность и особенности ' +
            'телосложения влияют на размер головы.';
    } else if (hc < sd1neg) {
        assessEl.innerHTML =
            '<span class="status-warning">Ниже среднего</span>' +
            '<br>' + diffText;
        noteEl.textContent =
            'Окружность головы находится между -1 и -2 стандартными ' +
            'отклонениями. Формально это нижняя граница нормы. Если ' +
            'ребенок развивается по возрасту и предыдущие измерения ' +
            'тоже были в этом коридоре - скорее всего, это ' +
            'индивидуальная особенность. Если произошло снижение из ' +
            'более высокого коридора - стоит обсудить с педиатром.';
    } else if (hc <= sd1pos) {
        assessEl.innerHTML =
            '<span class="status-normal">В пределах нормы</span>' +
            '<br>' + diffText;
        noteEl.textContent =
            'Окружность головы в пределах одного стандартного ' +
            'отклонения от медианы ВОЗ. Это самый распространенный ' +
            'диапазон - сюда попадают около 68% здоровых детей. ' +
            'Продолжайте плановые измерения на осмотрах у педиатра.';
    } else if (hc <= sd2pos) {
        assessEl.innerHTML =
            '<span class="status-warning">Выше среднего</span>' +
            '<br>' + diffText;
        noteEl.textContent =
            'Окружность головы между +1 и +2 стандартными ' +
            'отклонениями. Это верхняя граница нормы. Часто ' +
            'объясняется генетикой - если у родителей крупная голова, ' +
            'ребенок наследует эту особенность. Если ребенок хорошо ' +
            'себя чувствует и предыдущие измерения шли в таком же ' +
            'коридоре - повода для беспокойства нет. При резком скачке ' +
            'вверх покажите ребенка врачу.';
    } else {
        assessEl.innerHTML =
            '<span class="status-alert">Значительно выше нормы</span>' +
            '<br>' + diffText;
        noteEl.textContent =
            'Окружность головы выше +2 стандартных отклонений. ' +
            'Это может указывать на макроцефалию или повышенное ' +
            'внутричерепное давление. Обратитесь к педиатру и неврологу. ' +
            'Врач проверит состояние родничка, назначит нейросонографию ' +
            'или другие обследования. Не откладывайте визит, особенно ' +
            'если заметили рвоту, беспокойство или выбухание родничка. ' +
            'Помните, что конституциональная (семейная) макроцефалия тоже ' +
            'встречается - в этом случае голова большая, но ребенок ' +
            'развивается нормально.';
    }

    resultDiv.classList.add('active');
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-okruzhnosti-golovy-rebyonka-po-mesyaczam/">Калькулятор окружности головы ребёнка по месяцам</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор прорезывания зубов</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-prorezyvaniya-zubov/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 06:42:39 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5633</guid>

					<description><![CDATA[<p>Рассчитать сроки прорезывания зубов онлайн Дата рождения ребенка: Укажите точную дату рождения. Калькулятор определит возраст в месяцах и покажет, какие зубы уже могли появиться, а какие ожидать в ближайшее время. Рассчитать Результат расчета Ожидаемое количество зубов: &#8212; По формуле (возраст в мес. &#8212; 4): &#8212; Важно: Все сроки прорезывания молочных зубов условны. Разброс нормы составляет [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-prorezyvaniya-zubov/">Калькулятор прорезывания зубов</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5633" class="elementor elementor-5633" 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;
}
.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;
}
.tooth-list {
    list-style: none;
    padding-left: 0;
    margin: 8px 0;
}
.tooth-list li {
    padding: 6px 10px;
    margin: 4px 0;
    border-radius: 4px;
    font-size: 14px;
}
.tooth-appeared {
    background-color: #f0fbea;
    border-left: 3px solid #7BC15B;
}
.tooth-now {
    background-color: #fff8e1;
    border-left: 3px solid #ffc107;
}
.tooth-future {
    background-color: #f5f5f5;
    border-left: 3px solid #ccc;
    color: #777;
}
.tooth-status {
    font-weight: bold;
    font-size: 12px;
    text-transform: uppercase;
    margin-left: 6px;
}
.status-done { color: #4CAF50; }
.status-now { color: #FF9800; }
.status-wait { color: #999; }
.fact-block {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    margin: 16px 0;
}
.fact-block-accent {
    background-color: #f0f7ff;
    border: 1px solid #c8ddf5;
    border-radius: 8px;
    padding: 16px;
    margin: 16px 0;
}
.disclaimer-block {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 14px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
}
</style>

<div class="content-section">
    <h2>Рассчитать сроки прорезывания зубов онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="birthDate">
                Дата рождения ребенка:
            </label>
            <input type="date" id="birthDate">
            <div class="input-hint">
                Укажите точную дату рождения. Калькулятор
                определит возраст в месяцах и покажет,
                какие зубы уже могли появиться, а какие
                ожидать в ближайшее время.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateTeething()">
            Рассчитать
        </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="teethCount">-</span>
            </div>

            <div class="dose-row">
                <strong>По формуле (возраст в мес. - 4):</strong><br>
                <span class="dose-highlight" id="formulaCount">-</span>
            </div>

            <div id="toothTimeline" style="margin-top: 14px;"></div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Все сроки
                прорезывания молочных зубов условны.
                Разброс нормы составляет от 4 до 14 месяцев
                для первого зуба. Если к 12 месяцам
                у ребенка нет ни одного зуба, покажите
                его педиатру или детскому стоматологу.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Порядок и сроки прорезывания молочных зубов</h3>
    <p>Таблица показывает средние сроки появления каждой
    группы зубов. Первыми обычно прорезываются нижние
    центральные резцы, последними - верхние вторые моляры.
    Всего у ребенка вырастает 20 молочных зубов.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Зубы</th>
                <th>Расположение</th>
                <th>Средние сроки</th>
                <th>Количество</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Центральные резцы</td>
                <td>Нижняя челюсть</td>
                <td>6-10 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Центральные резцы</td>
                <td>Верхняя челюсть</td>
                <td>8-12 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Боковые резцы</td>
                <td>Верхняя челюсть</td>
                <td>9-13 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Боковые резцы</td>
                <td>Нижняя челюсть</td>
                <td>10-16 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Первые моляры</td>
                <td>Верхняя челюсть</td>
                <td>13-19 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Первые моляры</td>
                <td>Нижняя челюсть</td>
                <td>14-18 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Клыки</td>
                <td>Верхняя челюсть</td>
                <td>16-22 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Клыки</td>
                <td>Нижняя челюсть</td>
                <td>17-23 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Вторые моляры</td>
                <td>Нижняя челюсть</td>
                <td>23-31 мес.</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Вторые моляры</td>
                <td>Верхняя челюсть</td>
                <td>25-33 мес.</td>
                <td>2</td>
            </tr>
        </tbody>
    </table>

    <h3>Что рассчитывает калькулятор</h3>
    <p>Калькулятор определяет возраст ребенка в месяцах
    по дате рождения. После этого сравнивает возраст
    со средними сроками появления каждой группы зубов
    и распределяет их по трем категориям: уже прорезались,
    прорезываются сейчас, ожидаются позже.</p>

    <p>Дополнительно работает классическая формула:
    количество зубов = возраст в месяцах минус 4.
    Она применима в диапазоне от 6 до 24 месяцев
    и дает приблизительный ориентир. Например, в 10
    месяцев по формуле у ребенка должно быть
    около 6 зубов. На практике разброс широкий:
    у одних в 10 месяцев уже 8 зубов, у других - 2.</p>

    <p>Результат помогает родителям сориентироваться
    и понять, укладывается ли развитие зубов в стандартные
    рамки. Но помните: отклонение на 2-4 месяца от средних
    значений - вариант нормы, а не повод для тревоги.</p>

    <h3>Что влияет на сроки прорезывания</h3>
    <p>Генетика играет главную роль. Если у родителей
    зубы появились рано, ребенок часто повторяет
    тот же сценарий. Но есть и другие факторы.</p>

    <ul>
        <li><strong>Пол ребенка</strong> - у девочек
        зубы в среднем прорезываются немного раньше,
        чем у мальчиков</li>
        <li><strong>Тип вскармливания</strong> - педиатры
        отмечают, что у детей на искусственном
        вскармливании зубы иногда появляются раньше</li>
        <li><strong>Течение беременности</strong> -
        зачатки молочных зубов формируются на 6-7 неделе
        внутриутробного развития, и осложнения в этот
        период могут повлиять на сроки</li>
        <li><strong>Уровень витамина D и кальция</strong> -
        нехватка этих элементов способна задержать
        появление зубов на несколько месяцев</li>
        <li><strong>Климат и география</strong> - крупное
        исследование 2024 года, охватившее более 42 000
        детей, показало: в Европе и Северной Америке
        первые зубы прорезываются раньше, чем в Азии
        и Южной Америке</li>
    </ul>

    <h3>Признаки прорезывания зубов</h3>
    <p>Ребенок начинает обильно пускать слюни, тянет
    руки и предметы в рот, десна в зоне нового зуба
    краснеет и припухает. Аппетит может снизиться, сон -
    стать беспокойным. Капризность усиливается
    за 2-3 дня до появления зуба и обычно проходит,
    когда коронка показывается над десной.</p>

    <p>Температура при прорезывании может подняться,
    но не выше 37,5-38 градусов. Если термометр
    показывает больше 38,5, причина скорее в инфекции,
    а не в зубах. Точно так же длительная диарея,
    сильный кашель и рвота - поводы обратиться
    к педиатру, а не списывать все на зубы.</p>

    <h3>Когда зубы не прорезываются вовремя</h3>
    <p>Задержка на пару месяцев от средних норм -
    не повод для беспокойства. Границы нормы для
    первого зуба: от 4 до 14 месяцев. Но есть
    ситуации, когда стоит показать ребенка врачу.</p>

    <ul>
        <li>К 12 месяцам нет ни одного зуба</li>
        <li>Зубы прорезываются в необычном порядке -
        например, сначала клыки вместо резцов</li>
        <li>Зубы растут несимметрично - один появился,
        парный ему запаздывает больше чем на 6 месяцев</li>
        <li>Ребенок родился с зубами (натальные зубы) -
        нужна консультация стоматолога для оценки
        подвижности и безопасности при кормлении</li>
        <li>К 3 годам вышли не все 20 молочных зубов</li>
    </ul>

    <p>Первичный прием - у педиатра. Врач оценит
    общее развитие, уровень витамина D, кальция
    и фосфора. Если потребуется, направит к детскому
    стоматологу или эндокринологу.</p>

    <h3>Как помочь ребенку при прорезывании</h3>
    <p>Самый простой и безопасный способ - охлажденный
    прорезыватель. Он должен быть из безопасного
    материала, без жидкого наполнителя внутри
    (чтобы исключить риск протекания). Прорезыватель
    кладут в холодильник, не в морозильник - слишком
    холодный предмет может повредить нежные десны.</p>

    <p>Массаж десен чистым пальцем тоже помогает
    уменьшить дискомфорт. Делайте легкие круговые
    движения в области припухлости. Некоторые дети
    хорошо реагируют, другие протестуют - ориентируйтесь
    на реакцию ребенка.</p>

    <p>Гели с лидокаином для облегчения боли при
    прорезывании вызывают споры среди специалистов.
    С 2014 года FDA (управление по контролю за
    качеством продуктов и медикаментов в США) запретило
    их использование у детей. Аналогичной позиции
    придерживаются Американская академия педиатрии
    и профильные организации Австралии и Новой Зеландии.
    Причина - риск судорог и остановки дыхания
    при случайном проглатывании. Если боль сильная,
    педиатр может рекомендовать разовый прием
    жаропонижающего (ибупрофен или парацетамол)
    в возрастной дозировке.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Наглядное распределение зубов по статусу -
        видно, что уже прорезалось, что режется сейчас
        и что ожидать дальше</li>
        <li>Два метода расчета одновременно - по
        детальной таблице сроков и по классической
        формуле «возраст минус 4»</li>
        <li>Подсказки и пояснения для каждого возраста -
        калькулятор адаптирует текст рекомендации
        в зависимости от того, сколько месяцев ребенку</li>
        <li>Предупреждение при возможных отклонениях -
        если возраст выходит за диапазон нормы
        для первых зубов, калькулятор подскажет
        обратиться к врачу</li>
    </ul>

    <h3>Молочные и постоянные зубы</h3>
    <p>Молочные зубы начинают формироваться еще
    во время беременности. Зачатки появляются
    на 6-7 неделе эмбрионального развития, а минерализация
    коронок начинается примерно с 4-го месяца
    внутриутробной жизни. Именно поэтому питание
    будущей матери напрямую влияет на здоровье
    молочных зубов ребенка.</p>

    <p>Всего у ребенка вырастает 20 молочных зубов:
    8 резцов, 4 клыка и 8 моляров. Они мельче
    постоянных, эмаль у них тоньше и более пористая.
    Из-за этого молочные зубы сильнее подвержены кариесу
    и разрушаются быстрее. Но относиться к ним
    как к «временным и неважным» неправильно - они
    формируют место для постоянных зубов и влияют
    на развитие челюстей и прикуса.</p>

    <p>Смена молочных зубов на постоянные начинается
    около 6 лет. Первыми обычно выпадают нижние
    центральные резцы. Процесс замены растягивается
    до 12-13 лет, а зубы мудрости могут прорезаться
    и после 18.</p>

    <h2>Факты и мнения о прорезывании зубов</h2>

    <div class="fact-block-accent">
        <h3 style="margin-top: 0; color: #0457B5;">Мнение специалиста</h3>
        <p>В.М. Студеникин, доктор медицинских наук,
        профессор, академик РАЕ и МАЕ, в статье
        «Прорезывание зубов у детей: современные
        представления» (журнал «Лечащий Врач», 2019)
        подчеркивает: синдром прорезывания зубов у
        младенцев - это диагноз исключения. Прежде чем
        связывать повышение температуры, диарею или
        кашель с зубами, педиатр обязан исключить
        инфекционные заболевания. Под маской
        «прорезывания» нередко скрывается дебют
        пиелонефрита, пневмонии и даже менингита.
        По мнению профессора Студеникина, многолетние
        дискуссии среди педиатров привели к признанию
        того, что прорезывание влияет на самочувствие
        ребенка, но тяжелые симптомы требуют отдельного
        обследования.</p>
    </div>

    <div class="fact-block">
        <h3 style="margin-top: 0;">Исторический факт</h3>
        <p>В XIX веке в Англии более 10% детских смертей
        официально приписывали прорезыванию зубов.
        Врачи того времени считали, что зуб, проходя
        через десну, раздражает нервную систему ребенка
        и может вызвать судороги, истощение и гибель.
        Еще Гиппократ описывал прорезывание как опасный
        период. В Древней Греции для облегчения симптомов
        натирали десны мозгом зайца, а в средневековой
        Европе младенцам вешали на шею амулеты из коралла
        и волчьих зубов - не для жевания, а для защиты
        от «злых духов». Только к 1970-м годам медицинские
        журналы начали системно развенчивать идею о том,
        что прорезывание зубов - серьезная угроза жизни.</p>
    </div>

    <div class="fact-block-accent">
        <h3 style="margin-top: 0; color: #0457B5;">Современное исследование</h3>
        <p>Масштабный систематический обзор и метаанализ,
        опубликованный в International Journal of Paediatric
        Dentistry (2024), обобщил данные 25 исследований.
        Ученые установили, что симптомы при прорезывании
        зубов испытывают около 80% детей. Самое частое
        местное проявление - усиленное кусание и жевание
        предметов (66% детей). Самый распространенный
        общий симптом - раздражительность и беспокойство
        (61%). При этом авторы отмечают, что тяжелые
        системные реакции (высокая лихорадка, рвота,
        судороги) не подтверждаются как прямое следствие
        прорезывания и требуют отдельной диагностики.</p>
    </div>

    <div class="disclaimer-block">
        <h3 style="margin-top: 0;">Обратитесь к врачу</h3>
        <p>Информация на этой странице носит справочный
        характер и не заменяет консультацию педиатра
        или детского стоматолога. Сроки прорезывания
        зубов индивидуальны, и отклонения от средних
        значений не всегда говорят о проблемах. Если вас
        беспокоит развитие ребенка, задержка в появлении
        зубов или сопутствующие симптомы (температура
        выше 38,5, отказ от еды, гнойные выделения
        из десен), обратитесь к врачу. Только специалист
        может оценить ситуацию, назначить обследование
        и дать рекомендации с учетом особенностей
        вашего ребенка.</p>
    </div>

</div>

<script>
var teethData = [
    {
        name: 'Нижние центральные резцы',
        startMonth: 6,
        endMonth: 10,
        count: 2
    },
    {
        name: 'Верхние центральные резцы',
        startMonth: 8,
        endMonth: 12,
        count: 2
    },
    {
        name: 'Верхние боковые резцы',
        startMonth: 9,
        endMonth: 13,
        count: 2
    },
    {
        name: 'Нижние боковые резцы',
        startMonth: 10,
        endMonth: 16,
        count: 2
    },
    {
        name: 'Верхние первые моляры',
        startMonth: 13,
        endMonth: 19,
        count: 2
    },
    {
        name: 'Нижние первые моляры',
        startMonth: 14,
        endMonth: 18,
        count: 2
    },
    {
        name: 'Верхние клыки',
        startMonth: 16,
        endMonth: 22,
        count: 2
    },
    {
        name: 'Нижние клыки',
        startMonth: 17,
        endMonth: 23,
        count: 2
    },
    {
        name: 'Нижние вторые моляры',
        startMonth: 23,
        endMonth: 31,
        count: 2
    },
    {
        name: 'Верхние вторые моляры',
        startMonth: 25,
        endMonth: 33,
        count: 2
    }
];

function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function pluralMonths(n) {
    var abs = Math.abs(n);
    var last2 = abs % 100;
    var last1 = abs % 10;
    if (last2 >= 11 && last2 <= 19) return n + ' месяцев';
    if (last1 === 1) return n + ' месяц';
    if (last1 >= 2 && last1 <= 4) return n + ' месяца';
    return n + ' месяцев';
}

function pluralTeeth(n) {
    if (n === 0) return '0 зубов';
    var last2 = n % 100;
    var last1 = n % 10;
    if (last2 >= 11 && last2 <= 19) return n + ' зубов';
    if (last1 === 1) return n + ' зуб';
    if (last1 >= 2 && last1 <= 4) return n + ' зуба';
    return n + ' зубов';
}

function calculateTeething() {
    var birthInput = document.getElementById('birthDate').value;
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (!birthInput) {
        showError('Укажите дату рождения ребенка.');
        return;
    }

    var birthDate = new Date(birthInput);
    var today = new Date();

    if (birthDate > today) {
        showError(
            'Дата рождения не может быть в будущем. ' +
            'Проверьте введенные данные.'
        );
        return;
    }

    // Рассчитаем возраст в месяцах
    var ageMonths = (today.getFullYear() - birthDate.getFullYear()) * 12 +
        (today.getMonth() - birthDate.getMonth());

    // Корректируем, если день рождения еще не наступил в текущем месяце
    if (today.getDate() < birthDate.getDate()) {
        ageMonths--;
    }

    if (ageMonths < 0) {
        showError('Дата рождения не может быть в будущем.');
        return;
    }

    if (ageMonths > 48) {
        showError(
            'Калькулятор рассчитан на детей до 4 лет. ' +
            'К этому возрасту все 20 молочных зубов ' +
            'обычно уже прорезались.'
        );
        return;
    }

    // Возраст для отображения
    var years = Math.floor(ageMonths / 12);
    var months = ageMonths % 12;
    var ageText = '';
    if (years > 0) {
        var lastY2 = years % 100;
        var lastY1 = years % 10;
        if (lastY2 >= 11 && lastY2 <= 19) {
            ageText = years + ' лет';
        } else if (lastY1 === 1) {
            ageText = years + ' год';
        } else if (lastY1 >= 2 && lastY1 <= 4) {
            ageText = years + ' года';
        } else {
            ageText = years + ' лет';
        }
        if (months > 0) {
            ageText += ' ' + pluralMonths(months);
        }
    } else {
        ageText = pluralMonths(months);
    }

    // Параметры
    document.getElementById('resultParams').innerHTML =
        '<span>Возраст: <strong>' + ageText +
        ' (' + ageMonths + ' мес.)</strong></span>';

    // Классификация зубов
    var appeared = [];
    var erupting = [];
    var future = [];
    var appearedCount = 0;
    var eruptingCount = 0;

    for (var i = 0; i < teethData.length; i++) {
        var t = teethData[i];
        if (ageMonths >= t.endMonth) {
            appeared.push(t);
            appearedCount += t.count;
        } else if (ageMonths >= t.startMonth) {
            erupting.push(t);
            eruptingCount += t.count;
        } else {
            future.push(t);
        }
    }

    var minExpected = appearedCount;
    var maxExpected = appearedCount + eruptingCount;

    // Формула
    var formulaResult = ageMonths - 4;
    if (formulaResult < 0) formulaResult = 0;
    if (formulaResult > 20) formulaResult = 20;
    var formulaText = '';
    if (ageMonths < 6) {
        formulaText = 'еще рано (формула работает с 6 мес.)';
    } else if (ageMonths > 24) {
        formulaText = pluralTeeth(formulaResult) +
            ' (формула менее точна после 24 мес.)';
    } else {
        formulaText = pluralTeeth(formulaResult);
    }

    // Отображение
    var countText = '';
    if (minExpected === maxExpected) {
        countText = pluralTeeth(minExpected);
    } else {
        countText = 'от ' + minExpected + ' до ' + maxExpected +
            ' ' + (maxExpected === 1 ? 'зуба' :
            (maxExpected < 5 ? 'зубов' : 'зубов'));
    }

    document.getElementById('teethCount').textContent = countText;
    document.getElementById('formulaCount').textContent = formulaText;

    // Список зубов
    var html = '';

    if (appeared.length > 0) {
        html += '<p style="margin-bottom:4px;font-weight:bold;' +
            'color:#4CAF50;">Скорее всего уже прорезались:</p>';
        html += '<ul class="tooth-list">';
        for (var a = 0; a < appeared.length; a++) {
            html += '<li class="tooth-appeared">' +
                appeared[a].name + ' (' + appeared[a].count + ' шт., ' +
                appeared[a].startMonth + '-' + appeared[a].endMonth +
                ' мес.)' +
                '<span class="tooth-status status-done"> прорезались</span>' +
                '</li>';
        }
        html += '</ul>';
    }

    if (erupting.length > 0) {
        html += '<p style="margin-bottom:4px;font-weight:bold;' +
            'color:#FF9800;">Могут прорезываться сейчас:</p>';
        html += '<ul class="tooth-list">';
        for (var e = 0; e < erupting.length; e++) {
            html += '<li class="tooth-now">' +
                erupting[e].name + ' (' + erupting[e].count + ' шт., ' +
                erupting[e].startMonth + '-' + erupting[e].endMonth +
                ' мес.)' +
                '<span class="tooth-status status-now"> режутся</span>' +
                '</li>';
        }
        html += '</ul>';
    }

    if (future.length > 0) {
        html += '<p style="margin-bottom:4px;font-weight:bold;' +
            'color:#999;">Ожидаются позже:</p>';
        html += '<ul class="tooth-list">';
        for (var f = 0; f < future.length; f++) {
            html += '<li class="tooth-future">' +
                future[f].name + ' (' + future[f].count + ' шт., ' +
                future[f].startMonth + '-' + future[f].endMonth +
                ' мес.)' +
                '<span class="tooth-status status-wait"> ожидание</span>' +
                '</li>';
        }
        html += '</ul>';
    }

    document.getElementById('toothTimeline').innerHTML = html;

    // Примечание
    var note = '';
    if (ageMonths < 4) {
        note = 'В этом возрасте зубы обычно еще не прорезываются. ' +
            'Самые ранние случаи - с 3-4 месяцев, но это скорее ' +
            'исключение. Некоторые дети даже рождаются с зубами ' +
            '(натальные зубы), и это не патология, хотя требует ' +
            'наблюдения стоматолога.';
    } else if (ageMonths < 6) {
        note = 'Большинство детей ждут первый зуб к 6-7 месяцам. ' +
            'Если у вашего малыша уже набухла десна и усилилось ' +
            'слюнотечение - зуб может появиться раньше средних ' +
            'сроков. Это нормально.';
    } else if (ageMonths <= 12) {
        note = 'Самый активный период прорезывания первых зубов. ' +
            'Ребенок может стать капризным, тянуть предметы в рот ' +
            'и хуже спать. Охлажденный прорезыватель и массаж ' +
            'десен помогут уменьшить дискомфорт.';
    } else if (ageMonths <= 24) {
        note = 'В этом возрасте прорезываются моляры и клыки. ' +
            'Они крупнее резцов и могут вызывать больше дискомфорта. ' +
            'Следите за состоянием десен и обратите внимание ' +
            'на симметричность появления зубов.';
    } else if (ageMonths <= 36) {
        note = 'К 2,5-3 годам у ребенка обычно формируется ' +
            'полный молочный прикус из 20 зубов. Если какие-то ' +
            'зубы еще не появились, но ребенок чувствует себя ' +
            'хорошо - скорее всего, они прорежутся чуть позже.';
    } else {
        note = 'К этому возрасту все 20 молочных зубов ' +
            'обычно уже на месте. Если не хватает нескольких - ' +
            'покажите ребенка детскому стоматологу. Скоро ' +
            'начнется смена молочных зубов на постоянные ' +
            '(обычно с 5,5-6 лет).';
    }

    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-prorezyvaniya-zubov/">Калькулятор прорезывания зубов</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор площади поверхности тела ребёнка</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-ploshhadi-poverhnosti-tela-rebyonka/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 06:32:20 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5628</guid>

					<description><![CDATA[<p>Рассчитать площадь поверхности тела ребёнка онлайн Вес ребёнка (кг): Взвесьте ребёнка без одежды и обуви. Для грудных детей используйте детские весы. Рост ребёнка (см): После 2 лет измеряйте стоя, до 2 лет &#8212; длину тела лёжа. Разница между методами составляет около 1 см. Рассчитать площадь Результат расчёта По формуле Мостеллера: &#8212; &#160;м&#178; По формуле Дюбуа: [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-ploshhadi-poverhnosti-tela-rebyonka/">Калькулятор площади поверхности тела ребёнка</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5628" class="elementor elementor-5628" 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;
}
.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;
}
.disclaimer-block {
    background-color: #f0f7ff;
    border-left: 4px solid #0457B5;
    padding: 12px 14px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
}
</style>

<div class="content-section">
    <h2>Рассчитать площадь поверхности тела ребёнка онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label for="weight">
                Вес ребёнка (кг):
            </label>
            <input type="number" id="weight" min="0.5" max="150"
                   step="0.1" placeholder="Например: 15">
            <div class="input-hint">
                Взвесьте ребёнка без одежды и обуви.
                Для грудных детей используйте детские весы.
            </div>
        </div>

        <div class="calculator-input">
            <label for="height">
                Рост ребёнка (см):
            </label>
            <input type="number" id="height" min="25" max="200"
                   step="0.5" placeholder="Например: 100">
            <div class="input-hint">
                После 2 лет измеряйте стоя, до 2 лет -
                длину тела лёжа. Разница между методами
                составляет около 1 см.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateBSA()">
            Рассчитать площадь
        </button>

        <div class="result" id="result">
            <h3>Результат расчёта</h3>

            <div class="result-params" id="resultParams"></div>

            <div class="dose-row">
                <strong>По формуле Мостеллера:</strong><br>
                <span class="dose-highlight" id="bsaMosteller">-</span>
                &nbsp;м&sup2;
            </div>

            <div class="dose-row">
                <strong>По формуле Дюбуа:</strong><br>
                <span class="dose-highlight" id="bsaDubois">-</span>
                &nbsp;м&sup2;
            </div>

            <div class="dose-row">
                <strong>По формуле Хейкока:</strong><br>
                <span class="dose-highlight" id="bsaHaycock">-</span>
                &nbsp;м&sup2;
            </div>

            <div class="dose-row-primary">
                <strong id="recLabel">Рекомендуемое значение:</strong><br>
                <span class="dose-highlight" id="bsaRecommended">-</span>
                &nbsp;м&sup2;
                <div id="formulaNote"
                     style="font-size:14px; margin-top:4px; color:#333;">
                </div>
            </div>

            <div class="info-note" id="resultNote"></div>

            <div class="warning">
                <strong>Важно:</strong> Результат носит
                справочный характер. Для расчёта дозировок
                лекарств, инфузионной терапии или оценки
                функции почек используйте значение ППТ,
                рекомендованное лечащим врачом. Погрешность
                формул составляет 5-10%.
            </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>ППТ (м&sup2;)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Новорождённый</td>
                <td>3,5</td>
                <td>50</td>
                <td>0,22</td>
            </tr>
            <tr>
                <td>3 месяца</td>
                <td>6,0</td>
                <td>60</td>
                <td>0,32</td>
            </tr>
            <tr>
                <td>6 месяцев</td>
                <td>7,5</td>
                <td>67</td>
                <td>0,37</td>
            </tr>
            <tr>
                <td>1 год</td>
                <td>10,0</td>
                <td>75</td>
                <td>0,46</td>
            </tr>
            <tr>
                <td>2 года</td>
                <td>12,0</td>
                <td>87</td>
                <td>0,54</td>
            </tr>
            <tr>
                <td>3 года</td>
                <td>14,5</td>
                <td>96</td>
                <td>0,62</td>
            </tr>
            <tr>
                <td>5 лет</td>
                <td>18,5</td>
                <td>110</td>
                <td>0,75</td>
            </tr>
            <tr>
                <td>7 лет</td>
                <td>23,0</td>
                <td>122</td>
                <td>0,88</td>
            </tr>
            <tr>
                <td>10 лет</td>
                <td>32,0</td>
                <td>138</td>
                <td>1,11</td>
            </tr>
            <tr>
                <td>12 лет</td>
                <td>40,0</td>
                <td>150</td>
                <td>1,29</td>
            </tr>
            <tr>
                <td>14 лет</td>
                <td>50,0</td>
                <td>163</td>
                <td>1,50</td>
            </tr>
            <tr>
                <td>16 лет</td>
                <td>58,0</td>
                <td>170</td>
                <td>1,65</td>
            </tr>
            <tr>
                <td>Взрослый</td>
                <td>70,0</td>
                <td>170</td>
                <td>1,82</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое площадь поверхности тела</h3>
    <p>Площадь поверхности тела (ППТ, или BSA - Body Surface
    Area) - расчётный показатель, который отражает общую
    площадь кожного покрова человека в квадратных метрах.
    Напрямую измерить её невозможно, поэтому ППТ вычисляют
    по формулам на основе роста и веса.</p>

    <p>У взрослого человека среднего телосложения ППТ
    составляет примерно 1,7-1,9 м&sup2;. У новорождённого -
    около 0,2-0,25 м&sup2;, то есть почти в 8 раз меньше.
    По мере роста ребёнка площадь поверхности увеличивается
    неравномерно: голова грудного ребёнка занимает до 19%
    от общей ППТ, тогда как у взрослого - только 9%.</p>

    <p>В педиатрии ППТ используют чаще, чем вес, при расчёте
    дозировок химиотерапевтических препаратов, определении
    степени ожогов, оценке сердечного индекса и скорости
    клубочковой фильтрации. Всё дело в том, что ППТ точнее
    отражает метаболическую активность организма, чем масса
    тела в отдельности.</p>

    <h3>Описание калькулятора ППТ ребёнка</h3>
    <p>Калькулятор принимает два параметра - вес в
    килограммах и рост в сантиметрах. По ним он рассчитывает
    площадь поверхности тела сразу по трём формулам:
    Мостеллера, Дюбуа и Хейкока. Все три результата
    отображаются одновременно, чтобы можно было сравнить.</p>

    <p>Отдельно выделен рекомендуемый результат. Для детей
    весом до 10 кг калькулятор предлагает формулу Хейкока -
    она лучше всего проверена на данных новорождённых и
    грудных детей. Для детей тяжелее 10 кг используется
    формула Мостеллера - простая и широко принятая в
    клинической практике.</p>

    <p>В блоке дополнительной информации калькулятор
    показывает, какой процент от средней взрослой ППТ
    составляет результат. Это удобно для быстрой
    ориентировки при пересчёте взрослых дозировок
    на детский возраст.</p>

    <h3>Формулы расчёта площади поверхности тела</h3>
    <p>Все три формулы отталкиваются от роста и веса, но
    используют разные коэффициенты. Результаты обычно
    совпадают с точностью до 5-10%, однако в крайних
    диапазонах (недоношенные дети, ожирение) расхождение
    может быть заметным.</p>

    <p><strong>Формула Мостеллера (1987):</strong></p>
    <ul>
        <li>ППТ (м&sup2;) = корень из (рост (см) x вес (кг) / 3600)</li>
        <li>Самая простая для ручного расчёта. Опубликована
        в The New England Journal of Medicine. Широко
        применяется в педиатрии и онкологии</li>
    </ul>

    <p><strong>Формула Дюбуа (1916):</strong></p>
    <ul>
        <li>ППТ (м&sup2;) = 0,007184 x рост (см)<sup>0,725</sup>
        x вес (кг)<sup>0,425</sup></li>
        <li>Старейшая из трёх. Разработана на выборке
        из 9 человек. Хорошо работает для взрослых
        и подростков, но может завышать результат
        у маленьких детей</li>
    </ul>

    <p><strong>Формула Хейкока (1978):</strong></p>
    <ul>
        <li>ППТ (м&sup2;) = 0,024265 x рост (см)<sup>0,3964</sup>
        x вес (кг)<sup>0,5378</sup></li>
        <li>Создана специально для детей. Проверена
        на 81 ребёнке от рождения до подросткового
        возраста. Наиболее точна для новорождённых
        и грудных детей</li>
    </ul>

    <p><strong>Пример:</strong> ребёнок весом 15 кг,
    ростом 100 см. Мостеллер: корень из (100 x 15 / 3600) =
    корень из (0,4167) = 0,65 м&sup2;. Дюбуа: 0,007184 x
    100<sup>0,725</sup> x 15<sup>0,425</sup> = 0,64 м&sup2;.
    Хейкок: 0,024265 x 100<sup>0,3964</sup> x
    15<sup>0,5378</sup> = 0,65 м&sup2;. Разница минимальна.</p>

    <h3>Зачем знать ППТ ребёнка</h3>
    <p>Площадь поверхности тела нужна не из любопытства.
    У неё конкретные клинические применения, и в некоторых
    случаях ошибка в расчёте напрямую влияет на безопасность
    лечения.</p>

    <ul>
        <li><strong>Дозировка лекарств.</strong> Многие
        препараты в онкологии, трансплантологии
        и интенсивной терапии дозируют в мг/м&sup2;,
        а не в мг/кг. Особенно это касается
        цитостатиков, где разница в дозе на 10%
        может привести к токсичности или снизить
        эффективность</li>
        <li><strong>Оценка ожогов.</strong> Процент
        обожжённой поверхности тела рассчитывают
        относительно ППТ. У детей младше 5 лет
        пропорции тела сильно отличаются от взрослых,
        поэтому используют модифицированные таблицы
        Лунда-Браудера, а не правило девяток</li>
        <li><strong>Сердечный индекс.</strong> Показатель
        работы сердца (сердечный выброс, делённый
        на ППТ) позволяет сравнивать гемодинамику
        у детей разного возраста и размера</li>
        <li><strong>Функция почек.</strong> Скорость
        клубочковой фильтрации (СКФ) нормируют
        на 1,73 м&sup2; - условную стандартную ППТ
        взрослого. Без этой поправки нельзя корректно
        интерпретировать СКФ у ребёнка</li>
        <li><strong>Инфузионная терапия.</strong> Объём
        внутривенных вливаний в реанимации иногда
        рассчитывают с привязкой к ППТ, особенно
        при ожогах</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Три формулы за один шаг - вводите рост и вес
        один раз, получаете результат по Мостеллеру,
        Дюбуа и Хейкоку без ручных вычислений
        с возведением в дробные степени</li>
        <li>Автоматический выбор рекомендуемой формулы
        в зависимости от веса ребёнка - Хейкок
        для грудных детей, Мостеллер для остальных</li>
        <li>Процент от взрослой нормы - удобная
        ориентировка при пересчёте дозировок
        с взрослого на ребёнка</li>
        <li>Таблица средних значений по возрасту рядом -
        можно быстро сверить, укладывается ли результат
        в типичный диапазон</li>
        <li>Валидация ввода - калькулятор предупредит,
        если введены нереалистичные значения роста
        или веса</li>
    </ul>

    <h3>Когда формулы работают хуже</h3>
    <p>Стандартные формулы ППТ дают надёжный результат
    для большинства детей. Но есть ситуации, когда
    расчёт может существенно отличаться от реальности.</p>

    <ul>
        <li>Глубоко недоношенные дети (вес менее 1 кг) -
        ни одна из трёх формул не проходила валидацию
        на таком малом весе. Результат будет приблизительным</li>
        <li>Выраженное ожирение - формулы могут завышать
        ППТ, потому что жировая ткань имеет меньшую
        площадь поверхности на единицу массы, чем
        мышечная</li>
        <li>Отёки и асцит - вес увеличен за счёт жидкости,
        а не за счёт реальной массы тела. ППТ будет
        завышена</li>
        <li>Ампутации - формулы рассчитаны на полное
        тело. При отсутствии конечности требуется
        коррекция</li>
        <li>Нетипичные пропорции тела - некоторые
        генетические синдромы меняют соотношение
        туловища и конечностей, что влияет на точность</li>
    </ul>

    <p>Во всех этих случаях расчётную ППТ нужно обсуждать
    с лечащим врачом, который примет решение об
    индивидуальной коррекции.</p>

    <h2>Факты и мнения о площади поверхности тела</h2>

    <h3>Мнение специалиста</h3>
    <p>Джордж Хейкок, профессор педиатрической нефрологии
    в госпитале Гая (Лондон), в 1978 году показал, что
    формула Дюбуа - на тот момент стандарт - завышает
    площадь поверхности тела у грудных детей на 10-15%.
    Вместе с коллегами Шварцем и Визоцки он измерил
    антропометрические параметры 81 ребёнка от рождения
    до подросткового возраста и вывел новую формулу. Хейкок
    настаивал: нельзя экстраполировать данные взрослых
    на детей, потому что пропорции тела ребёнка - другие.
    Голова новорождённого занимает непропорционально
    большую долю ППТ, а конечности - меньшую. Формула,
    проверенная только на взрослых, не учитывает эту
    разницу и может приводить к ошибкам в дозировании
    лекарств.</p>

    <h3>Исторический факт</h3>
    <p>В 1916 году братья Юджин и Делафилд Дюбуа
    из Корнеллского университета придумали, как измерить
    площадь поверхности тела без вскрытия и без слепков.
    Они обклеивали кожу испытуемых кусочками манильской
    бумаги известного размера, аккуратно снимали их
    и суммировали площади. Метод кропотливый: один замер
    занимал часы. Всего братья обследовали 9 человек -
    именно на этой крошечной выборке была построена
    формула, которая использовалась в медицине больше
    60 лет. Только в 1970-х и 1980-х появились альтернативы,
    проверенные на большем числе пациентов, включая детей.</p>

    <h3>Что говорят современные исследования</h3>
    <p>В 2010-х годах несколько исследовательских групп
    в области детской онкологии сравнили, как выбор
    формулы ППТ влияет на расчёт доз химиотерапии.
    Результаты показали, что у новорождённых и детей
    до года разные формулы могут давать расхождение
    в ППТ до 20%, что транслируется в пропорциональную
    ошибку дозы цитостатиков. Для детей старше 5 лет
    формулы сходятся значительно лучше, и разница
    составляет 2-5%. Эти работы подтолкнули ряд
    протоколов детской онкологии к унификации: теперь
    в них указывают конкретную формулу, по которой
    нужно рассчитывать ППТ, а не оставляют выбор
    на усмотрение врача.</p>

    <div class="disclaimer-block">
        <strong>Обратите внимание.</strong> Калькулятор
        создан для ознакомительных и справочных целей.
        Он не заменяет консультацию педиатра,
        эндокринолога, онколога или другого
        профильного специалиста. Любые решения
        о дозировках лекарств, объёмах инфузий
        или оценке ожогов должен принимать врач
        на основе осмотра, лабораторных данных
        и полной клинической картины. Если у вас
        есть вопросы о здоровье ребёнка -
        обратитесь к лечащему врачу.
    </div>

</div>

<script>
function showError(msg) {
    var el = document.getElementById('errorBlock');
    el.textContent = msg;
    el.style.display = 'block';
}

function calculateBSA() {
    var weight = parseFloat(
        document.getElementById('weight').value
    );
    var height = parseFloat(
        document.getElementById('height').value
    );

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    // Валидация
    if (isNaN(weight) || weight < 0.5 || weight > 150) {
        showError(
            'Введите вес ребёнка от 0,5 до 150 кг. ' +
            'Для точного результата взвесьте ребёнка ' +
            'без одежды.'
        );
        return;
    }
    if (isNaN(height) || height < 25 || height > 200) {
        showError(
            'Введите рост от 25 до 200 см. ' +
            'Для детей до 2 лет измерьте длину тела лёжа.'
        );
        return;
    }

    // Формула Мостеллера
    var bsaMosteller = Math.sqrt(
        (height * weight) / 3600
    );

    // Формула Дюбуа
    var bsaDubois = 0.007184 *
        Math.pow(height, 0.725) *
        Math.pow(weight, 0.425);

    // Формула Хейкока
    var bsaHaycock = 0.024265 *
        Math.pow(height, 0.3964) *
        Math.pow(weight, 0.5378);

    // Рекомендуемое значение
    var recommended, formulaName;
    if (weight <= 10) {
        recommended = bsaHaycock;
        formulaName = 'Хейкок - наиболее точна для ' +
            'детей с массой тела до 10 кг';
    } else {
        recommended = bsaMosteller;
        formulaName = 'Мостеллер - простая и широко ' +
            'применяемая формула для детей старшего возраста';
    }

    // Процент от взрослой нормы (1,73 м²)
    var adultBSA = 1.73;
    var pctAdult = (recommended / adultBSA * 100).toFixed(1);

    // Заполнение параметров
    document.getElementById('resultParams').innerHTML =
        '<span>Вес: <strong>' +
        weight.toFixed(1) + ' кг</strong></span>' +
        '<span>Рост: <strong>' +
        height.toFixed(1) + ' см</strong></span>';

    // Заполнение результатов
    document.getElementById('bsaMosteller').textContent =
        bsaMosteller.toFixed(4);
    document.getElementById('bsaDubois').textContent =
        bsaDubois.toFixed(4);
    document.getElementById('bsaHaycock').textContent =
        bsaHaycock.toFixed(4);
    document.getElementById('bsaRecommended').textContent =
        recommended.toFixed(4);
    document.getElementById('formulaNote').textContent =
        'Формула: ' + formulaName;

    // Пояснение
    var note = 'Это ' + pctAdult +
        '% от средней взрослой ППТ (1,73 м\u00B2). ';

    if (weight < 1) {
        note += 'Вес менее 1 кг - ни одна из формул ' +
            'не валидирована для глубоко недоношенных детей. ' +
            'Результат приблизительный, обсудите его с врачом.';
    } else if (weight <= 3) {
        note += 'Для новорождённых с малым весом формула ' +
            'Хейкока считается наиболее подходящей, ' +
            'но точность ограничена.';
    } else if (weight <= 10) {
        note += 'Для грудных детей рекомендуется формула ' +
            'Хейкока, проверенная на педиатрической выборке.';
    } else {
        note += 'Для детей старше года с весом более 10 кг ' +
            'все три формулы дают близкие результаты. ' +
            'Мостеллер выбрана как наиболее простая ' +
            'и распространённая.';
    }

    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-ploshhadi-poverhnosti-tela-rebyonka/">Калькулятор площади поверхности тела ребёнка</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор центильных таблиц по ВОЗ</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-czentilnyh-tablicz-po-voz/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 06:22:13 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5623</guid>

					<description><![CDATA[<p>Рассчитать центили ребенка по нормам ВОЗ онлайн Пол ребенка: Мальчик Девочка Возраст ребенка: От рождения до 5 лет (0-60 месяцев). При рождении укажите 0 лет и 0 месяцев. Масса тела (кг): Взвешивайте ребенка без одежды и подгузника. Можно оставить пустым, если нужен расчет только по росту или окружности головы. Длина тела / рост (см): До [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-czentilnyh-tablicz-po-voz/">Калькулятор центильных таблиц по ВОЗ</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5623" class="elementor elementor-5623" 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;
}
.sex-toggle {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.sex-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;
}
.sex-toggle button.active {
    background: #0457B5;
    color: white;
}
.age-row {
    display: flex;
    gap: 10px;
}
.age-row > div {
    flex: 1;
}
.age-row input {
    width: 100%;
    padding: 10px 18px;
    border: 1px solid #ccc;
    border-radius: 50px;
    font-size: 16px;
    box-sizing: border-box;
}
.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;
}
.corridor-label {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: bold;
    margin-left: 8px;
    vertical-align: middle;
}
.corridor-green {
    background: #e6f4e0;
    color: #2e7d32;
}
.corridor-yellow {
    background: #fff8e1;
    color: #f57f17;
}
.corridor-red {
    background: #fde8e8;
    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;
}
.percentile-bar-wrap {
    background: #e0e0e0;
    border-radius: 6px;
    height: 18px;
    position: relative;
    margin: 6px 0 10px;
    overflow: visible;
}
.percentile-bar-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 0.4s;
}
.percentile-bar-zones {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    border-radius: 6px;
    overflow: hidden;
}
.percentile-bar-zones span {
    flex-grow: 1;
    border-right: 1px solid rgba(255,255,255,0.5);
}
.percentile-bar-zones span:last-child {
    border-right: none;
}
.percentile-marker {
    position: absolute;
    top: -4px;
    width: 4px;
    height: 26px;
    background: #333;
    border-radius: 2px;
    transform: translateX(-50%);
    z-index: 2;
}
.percentile-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #888;
    margin-top: 2px;
}
.fact-block {
    background: #f7f9fc;
    border-radius: 8px;
    padding: 16px 18px;
    margin: 14px 0;
}
.fact-block-yellow {
    background: #fffde7;
    border-left: 4px solid #ffc107;
    border-radius: 0 8px 8px 0;
    padding: 16px 18px;
    margin: 14px 0;
}
.disclaimer-block {
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 14px 18px;
    margin: 18px 0;
    border-radius: 0 8px 8px 0;
    font-size: 15px;
}
</style>

<div class="content-section">
    <h2>Рассчитать центили ребенка по нормам ВОЗ онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Пол ребенка:</label>
            <div class="sex-toggle">
                <button id="btnBoy" class="active" onclick="switchSex('boy')">Мальчик</button>
                <button id="btnGirl" onclick="switchSex('girl')">Девочка</button>
            </div>
        </div>

        <div class="calculator-input">
            <label>Возраст ребенка:</label>
            <div class="age-row">
                <div>
                    <input type="number" id="ageYears" min="0" max="5" step="1" placeholder="Лет">
                </div>
                <div>
                    <input type="number" id="ageMonths" min="0" max="11" step="1" placeholder="Месяцев">
                </div>
            </div>
            <div class="input-hint">От рождения до 5 лет (0-60 месяцев). При рождении укажите 0 лет и 0 месяцев.</div>
        </div>

        <div class="calculator-input">
            <label for="weight">Масса тела (кг):</label>
            <input type="number" id="weight" min="1" max="40" step="0.1" placeholder="Например: 8.5">
            <div class="input-hint">Взвешивайте ребенка без одежды и подгузника. Можно оставить пустым, если нужен расчет только по росту или окружности головы.</div>
        </div>

        <div class="calculator-input">
            <label for="height">Длина тела / рост (см):</label>
            <input type="number" id="height" min="30" max="140" step="0.1" placeholder="Например: 72.5">
            <div class="input-hint">До 2 лет измеряют лежа (длина тела), после 2 лет - стоя (рост). Можно оставить пустым.</div>
        </div>

        <div class="calculator-input">
            <label for="headCirc">Окружность головы (см):</label>
            <input type="number" id="headCirc" min="25" max="60" step="0.1" placeholder="Например: 44.2">
            <div class="input-hint">Измерьте сантиметровой лентой по самой выступающей части затылка и над бровями. Можно оставить пустым.</div>
        </div>

        <button class="calculate-btn" onclick="calculateCentiles()">Рассчитать центили</button>

        <div class="result" id="result">
            <h3>Результаты оценки</h3>
            <div class="result-params" id="resultParams"></div>
            <div id="resultWeight" style="display:none;"></div>
            <div id="resultHeight" style="display:none;"></div>
            <div id="resultHead" style="display:none;"></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>Семь коридоров охватывают весь спектр физического развития. Большинство здоровых детей попадают в коридоры 3-5. Попадание в крайние коридоры (1, 2, 6, 7) требует внимания педиатра, но само по себе не говорит о болезни.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Коридор</th>
                <th>Центили</th>
                <th>Оценка</th>
                <th>Что это значит</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>до 3</td>
                <td>Очень низкий</td>
                <td>Менее 3% детей этого возраста имеют такой показатель. Нужна консультация</td>
            </tr>
            <tr>
                <td>2</td>
                <td>3-10</td>
                <td>Низкий</td>
                <td>Ниже большинства сверстников. Стоит обсудить с педиатром</td>
            </tr>
            <tr>
                <td>3</td>
                <td>10-25</td>
                <td>Ниже среднего</td>
                <td>Нижняя граница нормы. Обычно вариант здорового развития</td>
            </tr>
            <tr>
                <td>4</td>
                <td>25-75</td>
                <td>Средний</td>
                <td>Половина здоровых детей попадает сюда. Типичное развитие</td>
            </tr>
            <tr>
                <td>5</td>
                <td>75-90</td>
                <td>Выше среднего</td>
                <td>Верхняя граница нормы. Обычно вариант здорового развития</td>
            </tr>
            <tr>
                <td>6</td>
                <td>90-97</td>
                <td>Высокий</td>
                <td>Выше большинства сверстников. Стоит обсудить с педиатром</td>
            </tr>
            <tr>
                <td>7</td>
                <td>свыше 97</td>
                <td>Очень высокий</td>
                <td>Более 97% детей имеют меньший показатель. Нужна консультация</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое центильные таблицы ВОЗ</h3>
    <p>Центильные таблицы - инструмент для оценки физического развития ребенка. Они показывают, какое место занимает конкретный показатель (вес, рост, окружность головы) среди показателей тысяч здоровых детей того же возраста и пола.</p>

    <p>Центиль - это процентная граница. Если вес ребенка на 25-м центиле, значит, 25% здоровых сверстников весят меньше, а 75% - больше. Это не хорошо и не плохо, это просто позиция на шкале. Норма охватывает широкий диапазон: от 3-го до 97-го центиля. А средним считается коридор между 25-м и 75-м центилями.</p>

    <p>ВОЗ разработала свои стандарты роста в 2006 году на основе масштабного исследования здоровых детей из шести стран. Принципиальное отличие от старых таблиц: стандарты ВОЗ описывают не то, как дети растут в среднем, а то, как они должны расти при оптимальных условиях - грудном вскармливании, хорошем питании, отсутствии хронических болезней.</p>

    <h3>Как пользоваться калькулятором</h3>
    <p>Выберите пол ребенка и укажите возраст в годах и месяцах. Затем введите один или несколько параметров: вес, рост, окружность головы. Калькулятор рассчитает центиль и покажет, в какой коридор попадает каждый показатель.</p>

    <p>Не обязательно заполнять все три поля. Если вас интересует только вес - введите вес, остальное оставьте пустым. Калькулятор выдаст результат по тем параметрам, которые вы указали.</p>

    <p>Несколько практических советов по измерениям. Вес определяйте на детских весах, без одежды и подгузника. Длину тела до 2 лет измеряйте лежа, после 2 лет - стоя. Окружность головы замеряйте сантиметровой лентой по максимальному периметру: над бровями спереди и по самой выпуклой части затылка сзади.</p>

    <h3>Как читать результаты</h3>
    <p>Калькулятор покажет для каждого параметра три вещи: процентиль (центиль), номер коридора и оценку. Процентиль - точное число от 0 до 100. Коридор - упрощенная группировка по семи зонам. Оценка - словесная характеристика: от "очень низкий" до "очень высокий".</p>

    <p>Зеленая отметка означает средний коридор (25-75 центили). Желтая - пограничные коридоры (3-25 и 75-97). Красная - крайние значения (ниже 3-го или выше 97-го центиля). Красный коридор не обязательно означает проблему, но требует внимания врача.</p>

    <p>Один замер - срез в моменте. Главная ценность центильных таблиц проявляется при регулярных измерениях: каждый месяц в первый год, раз в три месяца на втором году, далее раз в полгода. Если ребенок стабильно растет в своем коридоре - все в порядке, даже если этот коридор не 4-й (средний). Тревожный сигнал - резкий переход между коридорами: был в 5-м, через три месяца оказался во 2-м.</p>

    <h3>Формулы расчета центилей</h3>
    <p>Калькулятор использует метод LMS, разработанный Тимом Коулом (Tim Cole) в 1990 году и принятый ВОЗ для своих стандартов роста. Каждый возраст и пол имеет три параметра: L (степень преобразования), M (медиана) и S (коэффициент вариации).</p>

    <p><strong>Формула Z-оценки:</strong></p>
    <ul>
        <li>Z = ((значение / M)^L - 1) / (L x S), если L не равен 0</li>
        <li>Z = ln(значение / M) / S, если L = 0</li>
    </ul>

    <p>Z-оценка показывает, на сколько стандартных отклонений показатель ребенка отличается от медианы. Z = 0 - ровно посередине (50-й центиль). Z = +2 - примерно 97-й центиль. Z = -2 - примерно 3-й центиль.</p>

    <p>Перевод Z-оценки в процентиль выполняется через функцию нормального распределения. Калькулятор делает это автоматически, используя аппроксимацию Абрамовица и Стегуна.</p>

    <h3>Какие параметры оценивает калькулятор</h3>
    <p>Три ключевых показателя физического развития, которые педиатр измеряет на каждом плановом осмотре.</p>

    <ul>
        <li><strong>Масса тела по возрасту</strong> - отражает питание ребенка и общее состояние здоровья. Быстрее всего реагирует на изменения: болезнь, смена рациона, стресс. Самый чувствительный, но и самый "подвижный" показатель</li>
        <li><strong>Длина тела / рост по возрасту</strong> - характеризует линейный рост. Меняется медленнее, чем вес. Отставание в росте обычно говорит о длительном дефиците питания или хроническом заболевании. До 2 лет измеряют лежа (длина тела), после 2 лет - стоя (рост)</li>
        <li><strong>Окружность головы по возрасту</strong> - косвенно отражает рост головного мозга. Особенно важна в первые два года жизни, когда мозг активно увеличивается в размерах. Отклонения могут указывать на неврологические проблемы</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Расчет по официальным стандартам ВОЗ 2006 года с использованием метода LMS - точнее, чем сравнение по таблицам "на глаз"</li>
        <li>Три параметра за один шаг - вес, рост и окружность головы в одной форме</li>
        <li>Визуальная шкала с цветовой маркировкой помогает сразу увидеть, в какой зоне находится ребенок</li>
        <li>Отдельные расчеты для мальчиков и девочек - у них разные нормы на каждом этапе развития</li>
        <li>Можно ввести от одного до трех параметров - не обязательно измерять все сразу</li>
        <li>Результат включает точный процентиль и номер коридора - полезно и для родителей, и для врача</li>
    </ul>

    <h3>Когда результаты требуют визита к педиатру</h3>
    <p>Центильные таблицы - скрининговый инструмент. Они не ставят диагнозов, но помогают заметить ситуации, которые стоит обсудить с врачом.</p>

    <ul>
        <li>Любой параметр ниже 3-го или выше 97-го центиля - не паника, но повод для осмотра и, возможно, дополнительных обследований</li>
        <li>Резкое пересечение двух и более центильных коридоров за короткий период - например, ребенок был в 4-м коридоре по весу, а через два месяца оказался во 2-м</li>
        <li>Расхождение между показателями - рост в 5-м коридоре, вес в 1-м. Пропорциональность развития важна не меньше абсолютных значений</li>
        <li>Остановка или замедление роста окружности головы в первые 12 месяцев - мозг растет быстрее всего в первый год</li>
        <li>Чрезмерно быстрый набор веса при нормальном росте - может указывать на проблемы с питанием или метаболизмом</li>
    </ul>

    <h2>Факты и мнения о центильных таблицах и оценке роста детей</h2>

    <div class="fact-block">
        <h3>Мнение специалиста</h3>
        <p>Профессор Мерседес де Онис (Mercedes de Onis), координатор Отдела питания и безопасности пищевых продуктов ВОЗ и руководитель Многоцентрового исследования эталонов роста (MGRS), неоднократно подчеркивала: стандарты роста ВОЗ 2006 года принципиально отличаются от прежних справочных таблиц тем, что описывают нормативный рост - то, как ребенок должен расти при оптимальных условиях, а не то, как дети растут в среднем в какой-то конкретной популяции. По ее словам, при грудном вскармливании и надлежащем прикорме дети во всех частях мира растут примерно одинаково в первые пять лет жизни, и генетические различия между популяциями проявляются значительно меньше, чем разница внутри одной популяции.</p>
    </div>

    <div class="fact-block">
        <h3>Исторический факт</h3>
        <p>Первые систематические таблицы роста детей появились в XVIII веке. Французский натуралист граф де Монбейяр в 1759 году начал измерять своего сына каждые полгода от рождения до 18 лет. Эти записи опубликовал Жорж-Луи Бюффон в "Естественной истории" - они стали первым в мире лонгитюдным исследованием роста ребенка. Однако массовое применение ростовых таблиц в педиатрии началось только в середине XX века, когда Нэнси Бэйли и другие исследователи собрали данные тысяч детей и построили процентильные кривые. До этого педиатры оценивали развитие буквально на глаз - или по единичным нормативам, рассчитанным для детей одной страны и одного социального слоя.</p>
    </div>

    <div class="fact-block">
        <h3>Современное исследование</h3>
        <p>Международный консорциум INTERGROWTH-21st провел масштабный проект по созданию стандартов роста плода и новорожденного, дополняющих послеродовые стандарты ВОЗ. Исследование охватило более 60 000 беременностей в восьми странах и доказало, что при здоровой беременности размеры плода и новорожденного мало зависят от этнической принадлежности матери. Результаты опубликованы в журнале The Lancet и уже используются в клинической практике ряда стран для непрерывной оценки роста - от внутриутробного периода до пяти лет - по единым международным стандартам.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Обратите внимание:</strong> калькулятор предназначен для предварительной оценки и не заменяет очный осмотр педиатра. Интерпретировать результаты, оценивать динамику роста и принимать решения о дополнительных обследованиях или коррекции питания должен врач, который знает историю развития вашего ребенка. При любых сомнениях в физическом развитии ребенка обратитесь к педиатру.
    </div>
</div>

<script>
let selectedSex = 'boy';

/* ===========================================================
   WHO 2006 Child Growth Standards — LMS parameters
   Weight-for-age, Length/height-for-age, Head-circumference-for-age
   Monthly values from 0 (birth) to 60 months
   Source: WHO Multicentre Growth Reference Study (MGRS)
   =========================================================== */

const WHO = {
  wfa: {
    boys: {
      L:[0.3487,0.2297,0.197,0.1738,0.1553,0.1395,0.1257,0.1134,0.1021,0.0917,0.0822,0.0736,0.0657,0.0584,0.0516,0.0453,0.0394,0.0339,0.0287,0.0238,0.0192,0.0148,0.0107,0.0068,0.0031,-0.0005,-0.0039,-0.0071,-0.0103,-0.0133,-0.0163,-0.0191,-0.0219,-0.0246,-0.0272,-0.0297,-0.0322,-0.0346,-0.0369,-0.0392,-0.0415,-0.0437,-0.0459,-0.048,-0.0501,-0.0521,-0.0541,-0.0561,-0.058,-0.0599,-0.0618,-0.0636,-0.0654,-0.0672,-0.069,-0.0708,-0.0725,-0.0742,-0.0759,-0.0776,-0.0792],
      M:[3.3464,4.4709,5.5675,6.3762,7.0023,7.5105,7.934,8.2970,8.6151,8.9014,9.1649,9.4122,9.6479,9.8749,10.0953,10.3108,10.5228,10.7319,10.9385,11.143,11.3462,11.5486,11.7504,11.9514,12.1515,12.3502,12.5466,12.7401,12.93,13.1156,13.2964,13.4722,13.6432,13.8096,13.9716,14.1297,14.2841,14.4354,14.5841,14.7306,14.8753,15.0186,15.161,15.3028,15.4444,15.5862,15.7285,15.8717,16.0162,16.1622,16.3099,16.4596,16.6116,16.766,16.9231,17.083,17.2459,17.412,17.5813,17.754,17.9301],
      S:[0.14602,0.13395,0.12385,0.11727,0.11316,0.1108,0.10958,0.10902,0.10882,0.10881,0.10891,0.10906,0.10925,0.10949,0.10979,0.11015,0.11058,0.11109,0.11167,0.11234,0.11307,0.11388,0.11474,0.11566,0.11662,0.11762,0.11865,0.1197,0.12078,0.12187,0.12297,0.12409,0.12521,0.12634,0.12748,0.12862,0.12977,0.13093,0.13209,0.13327,0.13445,0.13564,0.13684,0.13804,0.13925,0.14047,0.1417,0.14293,0.14418,0.14543,0.14669,0.14796,0.14924,0.15052,0.15182,0.15312,0.15443,0.15575,0.15708,0.15842,0.15976]
    },
    girls: {
      L:[0.3809,0.1714,0.0962,0.0402,-0.005,-0.043,-0.0756,-0.104,-0.1289,-0.1507,-0.1697,-0.1862,-0.2004,-0.2125,-0.2227,-0.2312,-0.2382,-0.2437,-0.248,-0.2511,-0.2531,-0.2541,-0.2542,-0.2535,-0.252,-0.2499,-0.2472,-0.244,-0.2404,-0.2364,-0.2321,-0.2276,-0.2229,-0.2181,-0.2131,-0.2081,-0.203,-0.198,-0.1929,-0.1879,-0.1829,-0.178,-0.1732,-0.1685,-0.1639,-0.1594,-0.155,-0.1508,-0.1467,-0.1427,-0.1389,-0.1352,-0.1317,-0.1283,-0.1251,-0.122,-0.119,-0.1162,-0.1136,-0.1111,-0.1088],
      M:[3.2322,4.1873,5.1282,5.8458,6.4237,6.8985,7.297,7.6422,7.9487,8.2254,8.48,8.7192,8.9481,9.1699,9.387,9.6008,9.8124,10.0226,10.2315,10.4393,10.6464,10.8534,11.0608,11.2688,11.4775,11.6864,11.8947,12.1015,12.3054,12.5051,12.6998,12.889,13.0729,13.2518,13.4265,13.5975,13.7657,13.9318,14.0966,14.2608,14.4253,14.5907,14.7578,14.927,15.099,15.2741,15.4527,15.635,15.8212,16.0112,16.2051,16.4027,16.604,16.8088,17.0169,17.2282,17.4426,17.6598,17.8798,18.1024,18.3275],
      S:[0.14171,0.13724,0.13,0.12619,0.12402,0.12274,0.12204,0.12178,0.12181,0.12199,0.12223,0.12247,0.12268,0.12283,0.12294,0.123,0.12303,0.12306,0.1231,0.12315,0.12323,0.12335,0.12351,0.12372,0.12397,0.12427,0.12461,0.12499,0.1254,0.12584,0.1263,0.12679,0.12729,0.12781,0.12834,0.12888,0.12943,0.12998,0.13054,0.13111,0.13168,0.13225,0.13282,0.1334,0.13398,0.13456,0.13515,0.13573,0.13632,0.13691,0.1375,0.13809,0.13869,0.13929,0.13989,0.1405,0.14111,0.14172,0.14234,0.14296,0.14359]
    }
  },
  lhfa: {
    boys: {
      L:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
      M:[49.8842,54.7244,58.4249,61.4292,63.886,65.9026,67.6236,69.1645,70.5994,71.969,73.2812,74.5388,75.7488,76.9186,78.0497,79.1458,80.2113,81.2487,82.2587,83.2418,84.1996,85.1348,86.0477,86.941,87.8161,88.6746,89.5179,90.3468,91.1619,91.9635,92.7519,93.5274,94.2905,95.0418,95.782,96.5117,97.2316,97.9424,98.6449,99.3398,100.028,100.71,101.386,102.056,102.721,103.382,104.038,104.691,105.339,105.984,106.626,107.265,107.9,108.534,109.164,109.793,110.419,111.043,111.665,112.285,112.903],
      S:[0.03795,0.03557,0.03424,0.03328,0.03257,0.03204,0.03165,0.03139,0.03124,0.03117,0.03118,0.03125,0.03137,0.03154,0.03174,0.03197,0.03222,0.03248,0.03277,0.03307,0.03337,0.03369,0.034,0.03432,0.03465,0.03497,0.0353,0.03562,0.03594,0.03627,0.03659,0.03691,0.03723,0.03755,0.03786,0.03818,0.03849,0.0388,0.03911,0.03942,0.03973,0.04003,0.04034,0.04064,0.04094,0.04124,0.04153,0.04183,0.04212,0.04241,0.0427,0.04298,0.04327,0.04355,0.04383,0.04411,0.04439,0.04467,0.04494,0.04521,0.04548]
    },
    girls: {
      L:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
      M:[49.1477,53.6872,57.0673,59.8029,62.0899,63.9897,65.7311,67.2873,68.7498,70.1435,71.4818,72.771,74.015,75.2176,76.3817,77.51,78.6055,79.671,80.7079,81.7182,82.7036,83.6654,84.604,85.5202,86.4153,87.2906,88.1479,88.9887,89.8139,90.6242,91.4201,92.2018,92.9699,93.7253,94.4688,95.2017,95.9249,96.6397,97.347,98.0477,98.7432,99.4342,100.121,100.804,101.485,102.162,102.838,103.511,104.183,104.853,105.521,106.189,106.855,107.52,108.185,108.849,109.512,110.175,110.837,111.498,112.159],
      S:[0.03941,0.03636,0.03568,0.03518,0.03486,0.03463,0.03448,0.0344,0.03437,0.03439,0.03445,0.03455,0.03467,0.03481,0.03497,0.03514,0.03533,0.03553,0.03574,0.03596,0.03618,0.03641,0.03665,0.03689,0.03713,0.03738,0.03762,0.03787,0.03812,0.03837,0.03862,0.03887,0.03912,0.03937,0.03962,0.03987,0.04012,0.04037,0.04062,0.04087,0.04112,0.04137,0.04162,0.04187,0.04211,0.04236,0.04261,0.04286,0.04311,0.04335,0.0436,0.04385,0.0441,0.04434,0.04459,0.04483,0.04508,0.04532,0.04557,0.04582,0.04606]
    }
  },
  hcfa: {
    boys: {
      L:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
      M:[34.4618,37.2759,39.1285,40.5135,41.6317,42.5576,43.3306,43.9803,44.53,44.9998,45.4051,45.7573,46.0661,46.3395,46.5844,46.806,47.0088,47.1962,47.3711,47.5357,47.6919,47.8408,47.9833,48.1201,48.2515,48.3777,48.4989,48.6151,48.7261,48.8321,48.9329,49.0287,49.1199,49.207,49.2905,49.3709,49.4487,49.5243,49.598,49.6701,49.7409,49.8106,49.8793,49.9472,50.0144,50.081,50.1472,50.213,50.2783,50.3434,50.4081,50.4724,50.5364,50.5999,50.663,50.7256,50.7876,50.8491,50.9099,50.97,51.0294],
      S:[0.03686,0.03133,0.02997,0.02918,0.02868,0.02837,0.02817,0.02804,0.02796,0.02792,0.02791,0.02791,0.02794,0.02798,0.02803,0.02809,0.02816,0.02823,0.02831,0.0284,0.02849,0.02859,0.02869,0.0288,0.02891,0.02902,0.02914,0.02926,0.02938,0.0295,0.02963,0.02976,0.02989,0.03002,0.03016,0.0303,0.03043,0.03058,0.03072,0.03087,0.03101,0.03116,0.03131,0.03147,0.03162,0.03178,0.03194,0.0321,0.03226,0.03242,0.03258,0.03275,0.03291,0.03308,0.03325,0.03342,0.03359,0.03376,0.03393,0.03411,0.03428]
    },
    girls: {
      L:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
      M:[33.8787,36.5463,38.2521,39.5328,40.5817,41.459,42.198,42.8293,43.367,43.83,44.2319,44.5844,44.8965,45.1752,45.4265,45.6551,45.8650,46.0598,46.2424,46.4152,46.5795,46.7365,46.8870,47.0314,47.1702,47.3036,47.4319,47.5553,47.6739,47.7878,47.8972,48.0022,48.1031,48.1999,48.293,48.3826,48.4688,48.5519,48.6319,48.7091,48.7837,48.8558,48.9255,48.993,49.0583,49.1217,49.1832,49.2429,49.301,49.3575,49.4125,49.4661,49.5183,49.5693,49.6191,49.6678,49.7154,49.762,49.8076,49.8523,49.8962],
      S:[0.03496,0.03092,0.02993,0.02941,0.02907,0.02884,0.02869,0.02859,0.02854,0.02852,0.02852,0.02855,0.02859,0.02865,0.02872,0.02881,0.02891,0.02902,0.02914,0.02927,0.02941,0.02956,0.02971,0.02987,0.03003,0.0302,0.03038,0.03056,0.03074,0.03092,0.03111,0.0313,0.0315,0.0317,0.0319,0.0321,0.03231,0.03251,0.03272,0.03293,0.03314,0.03336,0.03357,0.03379,0.034,0.03422,0.03444,0.03466,0.03488,0.03511,0.03533,0.03556,0.03578,0.03601,0.03624,0.03647,0.0367,0.03693,0.03716,0.0374,0.03763]
    }
  }
};

function switchSex(sex) {
    selectedSex = sex;
    document.getElementById('btnBoy').classList.toggle('active', sex === 'boy');
    document.getElementById('btnGirl').classList.toggle('active', sex === 'girl');
    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';
}

// Normal CDF approximation (Abramowitz & Stegun)
function normalCDF(z) {
    if (z < -6) return 0;
    if (z > 6) return 1;
    var a1 = 0.254829592, a2 = -0.284496736, a3 = 1.421413741;
    var a4 = -1.453152027, a5 = 1.061405429, p = 0.3275911;
    var sign = z < 0 ? -1 : 1;
    var x = Math.abs(z) / Math.sqrt(2);
    var t = 1.0 / (1.0 + p * x);
    var y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1) * t * Math.exp(-x*x);
    return 0.5 * (1.0 + sign * y);
}

// Z-score from LMS
function calcZ(value, L, M, S) {
    if (Math.abs(L) > 0.001) {
        return (Math.pow(value / M, L) - 1) / (L * S);
    }
    return Math.log(value / M) / S;
}

function getCorridor(pct) {
    if (pct < 3)  return {num: 1, label: 'Очень низкий', cls: 'corridor-red'};
    if (pct < 10) return {num: 2, label: 'Низкий', cls: 'corridor-yellow'};
    if (pct < 25) return {num: 3, label: 'Ниже среднего', cls: 'corridor-yellow'};
    if (pct < 75) return {num: 4, label: 'Средний', cls: 'corridor-green'};
    if (pct < 90) return {num: 5, label: 'Выше среднего', cls: 'corridor-yellow'};
    if (pct < 97) return {num: 6, label: 'Высокий', cls: 'corridor-yellow'};
    return {num: 7, label: 'Очень высокий', cls: 'corridor-red'};
}

function renderBar(pct) {
    var pos = Math.max(1, Math.min(99, pct));
    var colors = ['#ef9a9a','#ffe082','#c8e6c9','#a5d6a7','#c8e6c9','#ffe082','#ef9a9a'];
    var widths = [3, 7, 15, 50, 15, 7, 3];
    var zones = '';
    for (var i = 0; i < 7; i++) {
        zones += '<span style="flex:' + widths[i] + ';background:' + colors[i] + '"></span>';
    }
    return '<div class="percentile-bar-wrap">' +
           '<div class="percentile-bar-zones">' + zones + '</div>' +
           '<div class="percentile-marker" style="left:' + pos + '%"></div>' +
           '</div>' +
           '<div class="percentile-labels"><span>3</span><span>10</span><span>25</span><span>50</span><span>75</span><span>90</span><span>97</span></div>';
}

function renderResult(containerId, title, value, unit, z, pct, corridor) {
    var el = document.getElementById(containerId);
    var rowClass = corridor.cls === 'corridor-green' ? 'dose-row' : 'dose-row-primary';
    el.innerHTML =
        '<div class="' + rowClass + '">' +
        '<strong>' + title + ':</strong> ' + value.toFixed(1) + ' ' + unit + '<br>' +
        '<span class="dose-highlight">' + pct.toFixed(1) + '-й центиль</span>' +
        ' <span class="corridor-label ' + corridor.cls + '">' +
        'Коридор ' + corridor.num + ' - ' + corridor.label + '</span>' +
        '<br><span style="font-size:13px;color:#666;">Z-оценка: ' + z.toFixed(2) + '</span>' +
        renderBar(pct) +
        '</div>';
    el.style.display = 'block';
}

function calculateCentiles() {
    var ageY = parseInt(document.getElementById('ageYears').value) || 0;
    var ageM = parseInt(document.getElementById('ageMonths').value) || 0;
    var weight = document.getElementById('weight').value;
    var height = document.getElementById('height').value;
    var headCirc = document.getElementById('headCirc').value;

    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';
    document.getElementById('resultWeight').style.display = 'none';
    document.getElementById('resultHeight').style.display = 'none';
    document.getElementById('resultHead').style.display = 'none';

    var totalMonths = ageY * 12 + ageM;

    // Validation
    if (totalMonths < 0 || totalMonths > 60) {
        showError('Калькулятор работает для детей от рождения до 5 лет (0-60 месяцев). Укажите возраст в этом диапазоне.');
        return;
    }
    if (ageY > 5 || (ageY === 5 && ageM > 0)) {
        showError('Максимальный возраст - 5 лет (60 месяцев). Стандарты ВОЗ 2006 года охватывают период от рождения до 5 лет.');
        return;
    }

    weight = weight ? parseFloat(weight) : null;
    height = height ? parseFloat(height) : null;
    headCirc = headCirc ? parseFloat(headCirc) : null;

    if (weight !== null && (weight < 1 || weight > 40)) {
        showError('Введите вес от 1 до 40 кг.');
        return;
    }
    if (height !== null && (height < 30 || height > 140)) {
        showError('Введите рост от 30 до 140 см.');
        return;
    }
    if (headCirc !== null && (headCirc < 25 || headCirc > 60)) {
        showError('Введите окружность головы от 25 до 60 см.');
        return;
    }

    if (weight === null && height === null && headCirc === null) {
        showError('Введите хотя бы один параметр: вес, рост или окружность головы.');
        return;
    }

    var sexKey = selectedSex === 'boy' ? 'boys' : 'girls';
    var sexLabel = selectedSex === 'boy' ? 'Мальчик' : 'Девочка';
    var ageLabel = '';
    if (ageY > 0) ageLabel += ageY + ' ' + pluralYears(ageY);
    if (ageY > 0 && ageM > 0) ageLabel += ' ';
    if (ageM > 0 || ageY === 0) ageLabel += ageM + ' ' + pluralMonths(ageM);

    document.getElementById('resultParams').innerHTML =
        '<span>Пол: <strong>' + sexLabel + '</strong></span>' +
        '<span>Возраст: <strong>' + ageLabel + ' (' + totalMonths + ' мес.)</strong></span>';

    var notes = [];
    var hasResults = false;

    if (weight !== null) {
        var wData = WHO.wfa[sexKey];
        var wL = wData.L[totalMonths], wM = wData.M[totalMonths], wS = wData.S[totalMonths];
        var wZ = calcZ(weight, wL, wM, wS);
        var wPct = normalCDF(wZ) * 100;
        var wCorr = getCorridor(wPct);
        renderResult('resultWeight', 'Масса тела по возрасту', weight, 'кг', wZ, wPct, wCorr);
        hasResults = true;
        if (wCorr.num <= 2) notes.push('Вес ребенка ниже 10-го центиля. Обсудите питание и набор веса с педиатром.');
        if (wCorr.num >= 6) notes.push('Вес ребенка выше 90-го центиля. Стоит оценить питание и активность вместе с педиатром.');
    }

    if (height !== null) {
        var hData = WHO.lhfa[sexKey];
        var hL = hData.L[totalMonths], hM = hData.M[totalMonths], hS = hData.S[totalMonths];
        var hZ = calcZ(height, hL, hM, hS);
        var hPct = normalCDF(hZ) * 100;
        var hCorr = getCorridor(hPct);
        var htLabel = totalMonths < 24 ? 'Длина тела по возрасту' : 'Рост по возрасту';
        renderResult('resultHeight', htLabel, height, 'см', hZ, hPct, hCorr);
        hasResults = true;
        if (hCorr.num <= 2) notes.push('Рост ниже 10-го центиля. Это может быть индивидуальной нормой, но лучше проверить у педиатра.');
        if (hCorr.num >= 6) notes.push('Рост выше 90-го центиля. Часто генетическая особенность, но стоит убедиться у врача.');
    }

    if (headCirc !== null) {
        var cData = WHO.hcfa[sexKey];
        var cL = cData.L[totalMonths], cM = cData.M[totalMonths], cS = cData.S[totalMonths];
        var cZ = calcZ(headCirc, cL, cM, cS);
        var cPct = normalCDF(cZ) * 100;
        var cCorr = getCorridor(cPct);
        renderResult('resultHead', 'Окружность головы по возрасту', headCirc, 'см', cZ, cPct, cCorr);
        hasResults = true;
        if (cCorr.num <= 1) notes.push('Окружность головы ниже 3-го центиля. Необходима консультация невролога.');
        if (cCorr.num >= 7) notes.push('Окружность головы выше 97-го центиля. Необходима консультация невролога.');
    }

    if (!hasResults) return;

    var noteText = '';
    if (notes.length > 0) {
        noteText = notes.join(' ');
    } else {
        noteText = 'Все введенные параметры в пределах нормальных значений. Для полноценной оценки развития сравнивайте показатели в динамике - при следующем плановом осмотре.';
    }
    document.getElementById('resultNote').textContent = noteText;
    resultDiv.classList.add('active');
}

function pluralYears(n) {
    if (n === 1) return 'год';
    if (n >= 2 && n <= 4) return 'года';
    return 'лет';
}
function pluralMonths(n) {
    if (n === 1) return 'месяц';
    if (n >= 2 && n <= 4) return 'месяца';
    return 'месяцев';
}
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-czentilnyh-tablicz-po-voz/">Калькулятор центильных таблиц по ВОЗ</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор шкалы APGAR</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-apgar/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 11:13:29 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5618</guid>

					<description><![CDATA[<p>Рассчитать оценку по шкале Апгар онлайн Момент оценки: 1-я минута 5-я минута Оценку проводят дважды: на 1-й и 5-й минутах после рождения. Если на 5-й минуте балл ниже 7, оценку повторяют каждые 5 минут до 20-й минуты. A &#8212; Appearance (окраска кожи) Цвет кожных покровов ребенка 0 &#8212; бледная или синюшная 1 &#8212; тело розовое, [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-shkaly-apgar/">Калькулятор шкалы APGAR</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5618" class="elementor elementor-5618" 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;
}
.apgar-criterion {
    margin: 18px 0;
    padding: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}
.apgar-criterion-title {
    font-weight: bold;
    margin-bottom: 6px;
    color: #333;
}
.apgar-criterion-subtitle {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}
.score-toggle {
    display: flex;
    gap: 6px;
}
.score-toggle button {
    flex: 1;
    padding: 10px 6px;
    border: 2px solid #0457B5;
    border-radius: 8px;
    background: white;
    color: #0457B5;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
    text-align: center;
    line-height: 1.3;
}
.score-toggle button.active {
    background: #0457B5;
    color: white;
}
.score-toggle button:hover:not(.active) {
    background: #e8f0fb;
}
.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;
}
.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;
}
.detail-breakdown {
    font-size: 14px;
    margin: 10px 0;
}
.detail-breakdown div {
    padding: 4px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
}
.detail-breakdown div:last-child {
    border-bottom: none;
}
</style>

<div class="content-section">
    <h2>Рассчитать оценку по шкале Апгар онлайн</h2>

    <div class="calculator-container">

        <div class="calculator-input">
            <label>Момент оценки:</label>
            <div class="carb-toggle">
                <button id="btnMin1" class="active"
                        onclick="switchMinute('1')">
                    1-я минута
                </button>
                <button id="btnMin5"
                        onclick="switchMinute('5')">
                    5-я минута
                </button>
            </div>
            <div class="input-hint">
                Оценку проводят дважды: на 1-й и 5-й минутах
                после рождения. Если на 5-й минуте балл ниже 7,
                оценку повторяют каждые 5 минут до 20-й минуты.
            </div>
        </div>

        <div class="apgar-criterion">
            <div class="apgar-criterion-title">
                A - Appearance (окраска кожи)
            </div>
            <div class="apgar-criterion-subtitle">
                Цвет кожных покровов ребенка
            </div>
            <div class="score-toggle" id="scoreAppearance">
                <button onclick="setScore('appearance', 0, this)">
                    0 - бледная или синюшная
                </button>
                <button onclick="setScore('appearance', 1, this)">
                    1 - тело розовое, конечности синюшные
                </button>
                <button onclick="setScore('appearance', 2, this)">
                    2 - полностью розовая
                </button>
            </div>
        </div>

        <div class="apgar-criterion">
            <div class="apgar-criterion-title">
                P - Pulse (частота сердцебиения)
            </div>
            <div class="apgar-criterion-subtitle">
                Частота сердечных сокращений
            </div>
            <div class="score-toggle" id="scorePulse">
                <button onclick="setScore('pulse', 0, this)">
                    0 - отсутствует
                </button>
                <button onclick="setScore('pulse', 1, this)">
                    1 - менее 100 уд/мин
                </button>
                <button onclick="setScore('pulse', 2, this)">
                    2 - 100 и более уд/мин
                </button>
            </div>
        </div>

        <div class="apgar-criterion">
            <div class="apgar-criterion-title">
                G - Grimace (рефлекторная возбудимость)
            </div>
            <div class="apgar-criterion-subtitle">
                Реакция на раздражение (катетер в носу, щелчок по стопе)
            </div>
            <div class="score-toggle" id="scoreGrimace">
                <button onclick="setScore('grimace', 0, this)">
                    0 - нет реакции
                </button>
                <button onclick="setScore('grimace', 1, this)">
                    1 - гримаса
                </button>
                <button onclick="setScore('grimace', 2, this)">
                    2 - крик, кашель, чихание
                </button>
            </div>
        </div>

        <div class="apgar-criterion">
            <div class="apgar-criterion-title">
                A - Activity (мышечный тонус)
            </div>
            <div class="apgar-criterion-subtitle">
                Степень сгибания и активности конечностей
            </div>
            <div class="score-toggle" id="scoreActivity">
                <button onclick="setScore('activity', 0, this)">
                    0 - вялый, конечности свисают
                </button>
                <button onclick="setScore('activity', 1, this)">
                    1 - слабое сгибание
                </button>
                <button onclick="setScore('activity', 2, this)">
                    2 - активные движения
                </button>
            </div>
        </div>

        <div class="apgar-criterion">
            <div class="apgar-criterion-title">
                R - Respiration (дыхание)
            </div>
            <div class="apgar-criterion-subtitle">
                Характер дыхания и крика
            </div>
            <div class="score-toggle" id="scoreRespiration">
                <button onclick="setScore('respiration', 0, this)">
                    0 - отсутствует
                </button>
                <button onclick="setScore('respiration', 1, this)">
                    1 - нерегулярное, слабый крик
                </button>
                <button onclick="setScore('respiration', 2, this)">
                    2 - громкий крик, ритмичное
                </button>
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateApgar()">
            Рассчитать оценку
        </button>

        <div class="result" id="result">
            <h3>Результат оценки</h3>

            <div class="result-params" id="resultParams"></div>

            <div id="scoreBreakdown" class="detail-breakdown"></div>

            <div id="totalRow" class="dose-row-primary">
                <strong>Итоговый балл по шкале Апгар:</strong><br>
                <span class="dose-highlight" id="totalScore">-</span>
                &nbsp;из 10
            </div>

            <div id="interpretationRow" class="dose-row">
                <strong>Интерпретация:</strong>
                <span id="interpretation"></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>Каждый из пяти критериев оценивают от 0 до 2 баллов.
    Максимальная сумма - 10. Оценку проводят на 1-й минуте
    (первичная адаптация) и на 5-й минуте (динамика состояния).</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Критерий</th>
                <th>0 баллов</th>
                <th>1 балл</th>
                <th>2 балла</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><strong>Окраска кожи</strong> (Appearance)</td>
                <td>Бледная или синюшная по всему телу</td>
                <td>Тело розовое, кисти и стопы синюшные</td>
                <td>Полностью розовая</td>
            </tr>
            <tr>
                <td><strong>Пульс</strong> (Pulse)</td>
                <td>Не определяется</td>
                <td>Менее 100 уд/мин</td>
                <td>100 и более уд/мин</td>
            </tr>
            <tr>
                <td><strong>Рефлексы</strong> (Grimace)</td>
                <td>Нет реакции на раздражение</td>
                <td>Слабая реакция (гримаса, движение)</td>
                <td>Крик, кашель, чихание, активное отдергивание</td>
            </tr>
            <tr>
                <td><strong>Тонус мышц</strong> (Activity)</td>
                <td>Отсутствует, конечности свисают</td>
                <td>Слабое сгибание рук и ног</td>
                <td>Активные движения, хороший тонус</td>
            </tr>
            <tr>
                <td><strong>Дыхание</strong> (Respiration)</td>
                <td>Отсутствует</td>
                <td>Нерегулярное, поверхностное, слабый крик</td>
                <td>Ритмичное, громкий крик</td>
            </tr>
        </tbody>
    </table>

    <h3>Что такое шкала Апгар</h3>
    <p>Шкала Апгар - стандартный метод быстрой оценки состояния
    новорожденного в первые минуты жизни. Пять критериев -
    окраска кожи, пульс, рефлексы, мышечный тонус и дыхание -
    оценивают по 0, 1 или 2 балла каждый. Суммарный результат
    от 0 до 10 показывает, насколько ребенок адаптировался
    к жизни вне утробы и нужна ли ему немедленная помощь.</p>

    <p>Оценку проводят дважды. На 1-й минуте фиксируют
    состояние сразу после рождения. На 5-й минуте смотрят
    динамику: улучшился балл, остался прежним или упал.
    Если на 5-й минуте результат ниже 7, оценку повторяют
    каждые 5 минут вплоть до 20-й минуты жизни.</p>

    <p>Результат записывают через дробь. Например, 7/8
    означает 7 баллов на 1-й минуте и 8 - на 5-й.
    Эту запись вносят в медицинскую документацию ребенка,
    и родители видят ее в выписке из роддома.</p>

    <h3>Расшифровка баллов</h3>
    <p>Интерпретация суммарного балла:</p>
    <ul>
        <li><strong>7-10 баллов</strong> - нормальное состояние.
        Ребенок дышит самостоятельно, сердцебиение стабильное,
        специальная помощь не требуется. Большинство здоровых
        доношенных детей получают 7-9 баллов на 1-й минуте.
        Идеальные 10 баллов встречаются редко, потому что
        у многих новорожденных кисти и стопы остаются
        синюшными в первые минуты</li>
        <li><strong>4-6 баллов</strong> - умеренное нарушение
        адаптации. Ребенку может потребоваться помощь
        с дыханием: санация дыхательных путей, подача
        кислорода, тактильная стимуляция. Состояние
        требует наблюдения, но чаще всего улучшается
        к 5-й минуте</li>
        <li><strong>0-3 балла</strong> - тяжелое состояние.
        Ребенок нуждается в реанимационных мероприятиях:
        искусственная вентиляция легких, непрямой массаж
        сердца, введение лекарственных средств.
        Действия начинают немедленно, не дожидаясь
        формальной оценки на 1-й минуте</li>
    </ul>

    <h3>Описание калькулятора</h3>
    <p>Калькулятор помогает рассчитать оценку по шкале Апгар,
    выбрав балл для каждого из пяти критериев. Удобен
    для студентов-медиков, родителей, которые хотят понять
    запись из выписки, и медицинских работников для быстрой
    справки.</p>

    <p>Вы выбираете момент оценки (1-я или 5-я минута),
    отмечаете состояние ребенка по каждому параметру,
    и калькулятор суммирует баллы. На выходе - итоговый
    балл, разбивка по критериям и текстовая интерпретация
    результата с пояснением, что он означает.</p>

    <h3>Как оценивают каждый критерий</h3>

    <p><strong>Окраска кожи (Appearance).</strong>
    Смотрят на цвет кожных покровов. Полностью розовая
    кожа - 2 балла. Если тело розовое, но кисти и стопы
    синюшные (акроцианоз) - 1 балл. Бледность или
    синюшность всего тела - 0. Акроцианоз в первую
    минуту - нормальное явление, он проходит по мере
    улучшения кровообращения.</p>

    <p><strong>Пульс (Pulse).</strong>
    Частоту сердцебиения определяют пальпацией пуповины
    или аускультацией. Более 100 ударов в минуту - 2 балла.
    Менее 100 - 1 балл. Сердцебиение не определяется - 0.
    Пульс - самый важный из пяти параметров, потому что
    именно он определяет тактику реанимации.</p>

    <p><strong>Рефлексы (Grimace).</strong>
    Реакцию проверяют при отсасывании слизи из носа
    катетером или при раздражении стопы. Громкий крик,
    кашель или чихание - 2 балла. Гримаса или слабое
    движение - 1. Полное отсутствие реакции - 0.</p>

    <p><strong>Мышечный тонус (Activity).</strong>
    Оценивают позу и движения. Активное сгибание рук
    и ног, энергичные движения - 2 балла. Слабое
    сгибание конечностей - 1. Полная атония, руки
    и ноги свисают - 0.</p>

    <p><strong>Дыхание (Respiration).</strong>
    Громкий ритмичный крик и стабильное дыхание - 2 балла.
    Нерегулярное дыхание, слабый крик или отдельные
    дыхательные движения - 1. Дыхание отсутствует - 0.</p>

    <h3>Почему 10 баллов получают редко</h3>
    <p>Оценку 10/10 видят нечасто даже у абсолютно здоровых
    детей. Причина - критерий окраски кожи. Сразу после
    рождения у большинства новорожденных кисти и стопы
    остаются синюшными несколько минут, пока периферическое
    кровообращение не стабилизируется. Это физиологический
    акроцианоз, и он дает 1 балл вместо 2 по первому
    критерию.</p>

    <p>Поэтому 8/9 или 8/10 - отличный результат.
    Тревожиться из-за отсутствия максимальной оценки
    не нужно.</p>

    <h3>Когда оценку проводят повторно</h3>
    <p>Стандартная процедура - оценка на 1-й и 5-й минутах.
    Но если балл на 5-й минуте остается ниже 7, врач
    повторяет оценку на 10-й, 15-й и 20-й минутах.
    Это позволяет отследить, реагирует ли ребенок
    на реанимационные мероприятия.</p>

    <p>Важный момент: низкий балл на 1-й минуте, который
    вырос до 7 и выше к 5-й минуте, в большинстве случаев
    не несет отрицательных последствий. Ребенок просто
    адаптировался чуть медленнее.</p>

    <h3>Ограничения шкалы Апгар</h3>
    <p>Шкала дает моментальный снимок состояния
    новорожденного, но у нее есть границы применимости.</p>
    <ul>
        <li>Оценка субъективна - разные специалисты могут
        выставить разный балл одному и тому же ребенку.
        Исследования показывают статистически значимые
        расхождения между неонатологами, акушерами
        и акушерками при оценке одних и тех же видеозаписей</li>
        <li>У недоношенных детей нормы отличаются.
        Мышечный тонус и рефлексы у ребенка на 28-й
        неделе физиологически ниже, чем у доношенного,
        и шкала это не учитывает</li>
        <li>Балл не предсказывает будущее. Низкая оценка
        на 1-й минуте не означает задержку развития,
        а высокая - не гарантирует отсутствие проблем
        в дальнейшем</li>
        <li>Шкала не заменяет полное обследование.
        Она показывает, нужна ли помощь прямо сейчас,
        но не выявляет врожденные пороки, инфекции
        или метаболические нарушения</li>
    </ul>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Наглядные описания каждого варианта оценки -
        не нужно запоминать критерии наизусть, достаточно
        выбрать подходящий вариант по описанию</li>
        <li>Переключение между 1-й и 5-й минутами -
        можно сделать две оценки и сравнить динамику</li>
        <li>Разбивка по критериям в результате -
        видно, какой именно параметр снизил общий балл</li>
        <li>Автоматическая интерпретация - калькулятор
        сразу объясняет, что означает полученный балл
        и какие действия могут потребоваться</li>
        <li>Предупреждения при критических значениях -
        при 0-3 баллах калькулятор обращает внимание
        на необходимость реанимационной помощи</li>
    </ul>

    <h2>Факты и мнения о шкале Апгар</h2>

    <h3>Мнение эксперта</h3>
    <p>Неонатолог Питер Стивенсон (Peter Stevenson, MD,
    Banner Children's Hospital, США) подчеркивает, что оценку
    по шкале Апгар часто ошибочно воспринимают как тест
    с проходным баллом. На практике это скорее описание
    текущего состояния ребенка в конкретный момент, а не
    экзамен, который можно сдать или провалить. По словам
    Стивенсона, в большинстве случаев балл при рождении
    слабо коррелирует с отдаленным развитием ребенка. Эту
    позицию поддерживают Американская коллегия акушеров и
    гинекологов (ACOG) и Американская академия педиатрии
    (AAP): в совместном заключении они указывают, что оценку
    по шкале Апгар нельзя использовать как единственное
    основание для диагноза асфиксии или прогноза неврологического
    исхода.</p>

    <h3>Исторический факт</h3>
    <p>Вирджиния Апгар создала свою шкалу в 1952 году,
    работая акушерским анестезиологом в больнице Слоан
    при Колумбийском университете (Нью-Йорк). До этого
    момента в мировой медицине не существовало единого
    способа оценить состояние новорожденного. Внимание
    в родзале было сосредоточено на матери, а детей с
    проблемами нередко замечали слишком поздно. Шкала
    изменила этот подход: впервые новорожденного признали
    пациентом, которому нужна немедленная объективная
    оценка. А знаменитый акроним APGAR придумала не сама
    Вирджиния. В 1963 году педиатр Джозеф Баттерфилд
    (Joseph Butterfield) из Колорадо предложил мнемоническое
    сокращение: Appearance, Pulse, Grimace, Activity,
    Respiration. Когда Апгар узнала об этом, она, по ее
    собственным словам, расхохоталась от восторга.</p>

    <h3>Современное исследование</h3>
    <p>Австралийское когортное исследование 2024 года
    (The Lancet Regional Health - Western Pacific)
    проанализировало данные более 941 000 доношенных
    одноплодных родов в штате Квинсленд за 18 лет
    (2000-2018). Ученые подтвердили, что оценка на 5-й
    минуте остается значимым предиктором неонатальной
    смертности и тяжелых неврологических осложнений.
    При этом риски возрастали с увеличением срока
    гестации: у переношенных детей (42 недели и более)
    низкий балл на 5-й минуте ассоциировался с более
    высокой частотой осложнений, чем у рожденных
    в 37-38 недель. Исследование напомнило, что шкала
    Апгар, созданная более 70 лет назад, сохраняет
    клиническую ценность и в современной доказательной
    медицине.</p>

    <h3>Важное напоминание</h3>
    <p>Информация на этой странице носит справочный
    и образовательный характер. Она не заменяет осмотр
    врача, не может служить основанием для постановки
    диагноза или назначения лечения. Оценку по шкале
    Апгар в родзале проводит квалифицированный
    медицинский работник. Если у вас есть вопросы
    о состоянии вашего ребенка при рождении или
    о записях в выписке из роддома, обратитесь
    к педиатру или неонатологу для разъяснения.</p>
</div>

<script>
let currentMinute = '1';
let scores = {
    appearance: null,
    pulse: null,
    grimace: null,
    activity: null,
    respiration: null
};

const criteriaNames = {
    appearance: 'Окраска кожи',
    pulse: 'Пульс',
    grimace: 'Рефлексы',
    activity: 'Мышечный тонус',
    respiration: 'Дыхание'
};

function switchMinute(min) {
    currentMinute = min;
    document.getElementById('btnMin1')
        .classList.toggle('active', min === '1');
    document.getElementById('btnMin5')
        .classList.toggle('active', min === '5');

    document.getElementById('result').classList.remove('active');
    document.getElementById('errorBlock').style.display = 'none';
}

function setScore(criterion, value, btn) {
    scores[criterion] = value;

    var parent = btn.parentElement;
    var buttons = parent.getElementsByTagName('button');
    for (var i = 0; i < buttons.length; i++) {
        buttons[i].classList.remove('active');
    }
    btn.classList.add('active');

    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 calculateApgar() {
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');

    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    var missing = [];
    for (var key in scores) {
        if (scores[key] === null) {
            missing.push(criteriaNames[key]);
        }
    }

    if (missing.length > 0) {
        showError(
            'Выберите оценку для: ' + missing.join(', ') +
            '. Нажмите на один из вариантов в каждом критерии.'
        );
        return;
    }

    var total = 0;
    for (var key in scores) {
        total += scores[key];
    }

    document.getElementById('resultParams').innerHTML =
        '<span>Момент оценки: <strong>' +
        currentMinute + '-я минута</strong></span>';

    var breakdownHtml = '';
    for (var key in scores) {
        breakdownHtml +=
            '<div><span>' + criteriaNames[key] +
            '</span><strong>' + scores[key] +
            ' из 2</strong></div>';
    }
    document.getElementById('scoreBreakdown').innerHTML =
        breakdownHtml;

    document.getElementById('totalScore').textContent = total;

    var interpretation = '';
    var totalRow = document.getElementById('totalRow');
    var interpRow = document.getElementById('interpretationRow');

    totalRow.className = 'dose-row-primary';
    interpRow.className = 'dose-row';

    if (total >= 7) {
        interpretation =
            'Нормальное состояние. Ребенок адаптируется ' +
            'к внеутробной жизни без специальной помощи. ' +
            'Стандартный уход и наблюдение.';
        interpRow.className = 'dose-row';
    } else if (total >= 4) {
        interpretation =
            'Умеренное нарушение адаптации. Ребенку может ' +
            'понадобиться помощь с дыханием: санация ' +
            'дыхательных путей, подача кислорода, ' +
            'тактильная стимуляция. Требуется наблюдение ' +
            'и повторная оценка на 5-й минуте.';
        interpRow.className = 'dose-row-warn';
    } else {
        interpretation =
            'Тяжелое состояние. Необходимы реанимационные ' +
            'мероприятия: искусственная вентиляция легких, ' +
            'возможно непрямой массаж сердца. Немедленная ' +
            'помощь неонатолога.';
        interpRow.className = 'dose-row-danger';
    }

    document.getElementById('interpretation').textContent =
        ' ' + interpretation;

    var note = '';
    if (currentMinute === '1' && total >= 7) {
        note =
            'Хороший результат на 1-й минуте. Повторите ' +
            'оценку на 5-й минуте для подтверждения ' +
            'стабильного состояния.';
    } else if (currentMinute === '1' && total < 7) {
        note =
            'Балл ниже 7 на 1-й минуте требует ' +
            'повышенного внимания. Оцените ребенка ' +
            'повторно на 5-й минуте. Если балл не растет, ' +
            'повторяйте оценку каждые 5 минут ' +
            'до 20-й минуты.';
    } else if (currentMinute === '5' && total >= 7) {
        note =
            'Балл 7 и выше на 5-й минуте - ребенок ' +
            'хорошо адаптировался. Дополнительная оценка ' +
            'не требуется.';
    } else if (currentMinute === '5' && total < 7) {
        note =
            'Балл ниже 7 на 5-й минуте. Продолжайте ' +
            'оценивать каждые 5 минут (10-я, 15-я, ' +
            '20-я минуты). Низкий балл на 5-й минуте ' +
            'более значим для прогноза, чем на 1-й.';
    }

    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-apgar/">Калькулятор шкалы APGAR</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Калькулятор риска резус-конфликта</title>
		<link>https://vracha-na-dom.ru/kalkulyatory/kalkulyator-riska-rezus-konflikta/</link>
		
		<dc:creator><![CDATA[Волкова Елена Андреевна]]></dc:creator>
		<pubDate>Mon, 13 Jul 2026 11:04:40 +0000</pubDate>
				<category><![CDATA[Калькуляторы]]></category>
		<category><![CDATA[Калькуляторы для беременных и новорождённых]]></category>
		<guid isPermaLink="false">https://vracha-na-dom.ru/?p=5610</guid>

					<description><![CDATA[<p>Рассчитать риск резус-конфликта при беременности онлайн Резус-фактор матери: Rh+ Rh- Указан в паспорте, медицинской карте или результатах анализа крови. Если не знаете &#8212; сдайте анализ на группу крови и резус-фактор. Резус-фактор отца ребенка: Rh+ Rh- Неизвестен Если резус-фактор отца неизвестен &#8212; калькулятор оценит риск по наиболее вероятному сценарию и порекомендует сдать анализ. Какая по счету [&#8230;]</p>
<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-riska-rezus-konflikta/">Калькулятор риска резус-конфликта</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="5610" class="elementor elementor-5610" 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;
    flex-wrap: wrap;
}
.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;
    min-width: 80px;
}
.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-no {
    background-color: #f0fbea;
    border-left: 4px solid #7BC15B;
    padding: 12px 14px;
    margin: 10px 0;
    border-radius: 0 4px 4px 0;
}
.risk-no .dose-highlight {
    color: #4a8c2a;
}
.risk-low {
    background-color: #e8f0fb;
    border-left: 4px solid #0457B5;
    padding: 12px 14px;
    margin: 10px 0;
    border-radius: 0 4px 4px 0;
}
.risk-moderate {
    background-color: #fff8e1;
    border-left: 4px solid #f9a825;
    padding: 12px 14px;
    margin: 10px 0;
    border-radius: 0 4px 4px 0;
}
.risk-moderate .dose-highlight {
    color: #e65100;
}
.risk-high {
    background-color: #fde8e8;
    border-left: 4px solid #e53935;
    padding: 12px 14px;
    margin: 10px 0;
    border-radius: 0 4px 4px 0;
}
.risk-high .dose-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;
}
.hidden {
    display: none;
}
.recommendation-list {
    margin: 8px 0;
    padding-left: 18px;
    font-size: 14px;
}
.recommendation-list li {
    margin: 4px 0;
}
.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 14px;
    margin: 16px 0;
    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>Резус-фактор матери:</label>
            <div class="carb-toggle" id="groupMother">
                <button onclick="selectToggle('motherRh','pos','groupMother',this)">Rh+</button>
                <button onclick="selectToggle('motherRh','neg','groupMother',this)">Rh-</button>
            </div>
            <div class="input-hint">
                Указан в паспорте, медицинской карте или результатах
                анализа крови. Если не знаете - сдайте анализ
                на группу крови и резус-фактор.
            </div>
        </div>

        <div class="calculator-input">
            <label>Резус-фактор отца ребенка:</label>
            <div class="carb-toggle" id="groupFather">
                <button onclick="selectToggle('fatherRh','pos','groupFather',this)">Rh+</button>
                <button onclick="selectToggle('fatherRh','neg','groupFather',this)">Rh-</button>
                <button onclick="selectToggle('fatherRh','unknown','groupFather',this)">Неизвестен</button>
            </div>
            <div class="input-hint">
                Если резус-фактор отца неизвестен - калькулятор
                оценит риск по наиболее вероятному сценарию
                и порекомендует сдать анализ.
            </div>
        </div>

        <div class="calculator-input">
            <label>Какая по счету беременность:</label>
            <div class="carb-toggle" id="groupPregnancy">
                <button onclick="selectToggle('pregnancy','first','groupPregnancy',this)">Первая</button>
                <button onclick="selectToggle('pregnancy','second','groupPregnancy',this)">Вторая</button>
                <button onclick="selectToggle('pregnancy','third','groupPregnancy',this)">Третья и далее</button>
            </div>
            <div class="input-hint">
                Учитываются все беременности, включая
                прерванные, замершие и внематочные.
                Каждая предыдущая беременность увеличивает
                вероятность сенсибилизации.
            </div>
        </div>

        <div class="calculator-input" id="antiDBlock">
            <label>Вводили антирезусный иммуноглобулин
            в предыдущих беременностях:</label>
            <div class="carb-toggle" id="groupAntiD">
                <button onclick="selectToggle('antiD','yes','groupAntiD',this)">Да</button>
                <button onclick="selectToggle('antiD','no','groupAntiD',this)">Нет</button>
                <button onclick="selectToggle('antiD','unsure','groupAntiD',this)">Не помню</button>
            </div>
            <div class="input-hint">
                Препарат вводят на 28 неделе беременности
                и в первые 72 часа после родов. Обычно
                указан в обменной карте или выписке
                из роддома.
            </div>
        </div>

        <div class="calculator-input">
            <label>Резус-антитела в крови матери:</label>
            <div class="carb-toggle" id="groupAntibodies">
                <button onclick="selectToggle('antibodies','found','groupAntibodies',this)">Обнаружены</button>
                <button onclick="selectToggle('antibodies','notfound','groupAntibodies',this)">Не обнаружены</button>
                <button onclick="selectToggle('antibodies','notested','groupAntibodies',this)">Не сдавали</button>
            </div>
            <div class="input-hint">
                Анализ на антирезусные антитела назначает
                акушер-гинеколог при постановке на учет.
                Результат записан в обменной карте.
            </div>
        </div>

        <button class="calculate-btn" onclick="calculateRisk()">
            Оценить риск
        </button>

        <div class="result" id="result">
            <h3>Результат оценки</h3>

            <div class="result-params" id="resultParams"></div>

            <div id="riskLevelBlock"></div>

            <div id="probabilityBlock" style="margin:8px 0"></div>

            <div id="explanationBlock"
                 style="margin:10px 0;font-size:14px"></div>

            <div id="recommendationsBlock" style="margin:10px 0"></div>

            <div class="warning">
                <strong>Важно:</strong> Калькулятор дает
                ориентировочную оценку на основе базовых
                факторов. Реальный риск зависит от множества
                индивидуальных особенностей - титра антител,
                генотипа отца (гомозигота или гетерозигота),
                акушерского анамнеза. Точную оценку может
                дать только врач по результатам обследования.
            </div>
        </div>

        <div class="error-block" id="errorBlock"></div>

    </div>

    <h3>Таблица вероятности резус-положительного ребенка</h3>
    <p>Резус-фактор наследуется по законам генетики.
    Ген D (резус-положительный) доминирует над
    геном d (резус-отрицательный). Человек с Rh+ может быть
    гомозиготой DD или гетерозиготой Dd - внешне это никак
    не проявляется, но влияет на резус-фактор будущего ребенка.</p>

    <table class="dose-table">
        <thead>
            <tr>
                <th>Мать</th>
                <th>Отец</th>
                <th>Ребенок Rh+</th>
                <th>Риск конфликта</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Rh+ (DD)</td>
                <td>Rh+ (DD)</td>
                <td>100%</td>
                <td>Нет</td>
            </tr>
            <tr>
                <td>Rh+ (Dd)</td>
                <td>Rh+ (Dd)</td>
                <td>75%</td>
                <td>Нет</td>
            </tr>
            <tr>
                <td>Rh+ (любой)</td>
                <td>Rh- (dd)</td>
                <td>50-100%</td>
                <td>Нет</td>
            </tr>
            <tr>
                <td>Rh- (dd)</td>
                <td>Rh- (dd)</td>
                <td>0%</td>
                <td>Нет</td>
            </tr>
            <tr>
                <td>Rh- (dd)</td>
                <td>Rh+ (DD)</td>
                <td>100%</td>
                <td>Есть</td>
            </tr>
            <tr>
                <td>Rh- (dd)</td>
                <td>Rh+ (Dd)</td>
                <td>50%</td>
                <td>Есть (50% вероятность)</td>
            </tr>
        </tbody>
    </table>

    <p>Примерно 55% людей с Rh+ - гетерозиготы (Dd). Без
    специального генотипирования отца точно определить,
    гомозигота он или гетерозигота, невозможно. Поэтому
    при резус-отрицательной матери и резус-положительном отце
    вероятность Rh+ у ребенка оценивают как 50-100%.</p>

    <h3>Что такое резус-конфликт</h3>
    <p>Резус-фактор - белок на поверхности эритроцитов.
    У 85% людей он есть (Rh+), у 15% - нет (Rh-).
    Само по себе отсутствие резус-фактора не болезнь
    и никак не влияет на здоровье. Проблема возникает
    при беременности, когда мать Rh-, а ребенок
    унаследовал Rh+ от отца.</p>

    <p>Если кровь ребенка попадает в кровоток матери -
    иммунная система матери воспринимает резус-белок
    как чужеродный и начинает вырабатывать антитела
    против него. Эти антитела проникают через плаценту
    и атакуют эритроциты ребенка, разрушая их.
    Так развивается гемолитическая болезнь плода.</p>

    <h3>Описание калькулятора риска резус-конфликта</h3>
    <p>Калькулятор оценивает вероятность резус-конфликта
    по пяти параметрам: резус-факторы матери и отца,
    номер беременности, введение антирезусного
    иммуноглобулина ранее и наличие антител.</p>

    <p>Результат - степень риска (от "нет риска" до
    "высокий") с пояснением и рекомендациями.
    Если мать Rh+ или оба родителя Rh- - конфликт
    невозможен, калькулятор сразу покажет это.
    В остальных случаях оценка зависит от
    совокупности факторов.</p>

    <p>Калькулятор не заменяет анализы. Он помогает
    понять ситуацию до визита к врачу и подготовить
    вопросы для консультации.</p>

    <h3>Как развивается резус-конфликт</h3>
    <p>Первая беременность с Rh+ ребенком обычно проходит
    без осложнений. Иммунная система матери впервые
    встречается с чужеродным белком и реагирует медленно.
    Антитела класса IgM, которые вырабатываются первыми,
    крупные - они не проходят через плаценту.</p>

    <p>Основной контакт крови матери и ребенка происходит
    в родах. По разным оценкам, от 0,1 до 30 мл
    плодовой крови попадает в материнский кровоток
    при отделении плаценты. Именно в этот момент
    происходит 90% всех сенсибилизаций.</p>

    <p>При следующей беременности все иначе. Иммунная
    система уже "помнит" резус-белок и отвечает
    быстрее - выработкой антител IgG. Они мелкие,
    легко проникают через плаценту и начинают разрушать
    эритроциты ребенка. Чем больше антител, тем тяжелее
    гемолитическая болезнь.</p>

    <p>Без профилактики риск сенсибилизации после
    первой беременности с Rh+ ребенком составляет 7-9%.
    К концу второй такой беременности он возрастает
    до 16-17%.</p>

    <h3>Профилактика антирезусным иммуноглобулином</h3>
    <p>Антирезусный иммуноглобулин (анти-D) - главное
    средство предотвращения резус-конфликта.
    Препарат содержит готовые антитела к резус-фактору.
    Они связывают Rh+ эритроциты ребенка,
    попавшие в кровоток матери, до того как иммунная
    система успеет среагировать сама.</p>

    <p>Стандартная схема включает два введения.
    Первое - на 28 неделе беременности (антенатальная
    профилактика). Второе - в первые 72 часа после родов,
    если ребенок оказался Rh+ (постнатальная профилактика).
    Сочетание обоих введений снижает риск сенсибилизации
    почти до нуля.</p>

    <p>Препарат также вводят после любого события,
    которое может вызвать контакт крови матери и плода:
    выкидыш, аборт, внематочная беременность, амниоцентез,
    травма живота, кровотечение во время беременности.</p>

    <h3>Преимущества калькулятора</h3>
    <ul>
        <li>Оценка за минуту - не нужно разбираться
        в медицинских терминах и формулах, достаточно
        ответить на пять вопросов</li>
        <li>Учет нескольких факторов сразу - номер
        беременности, профилактика и антитела
        оцениваются вместе, а не по отдельности</li>
        <li>Понятный результат с пояснением - калькулятор
        не просто пишет степень риска, но объясняет,
        почему она такая</li>
        <li>Конкретные рекомендации - что спросить
        у врача и какие анализы сдать</li>
        <li>Таблица наследования резус-фактора рядом -
        можно сразу посмотреть вероятность Rh+ у ребенка
        в зависимости от генотипов родителей</li>
    </ul>

    <h3>Когда нужен врач, а не калькулятор</h3>
    <p>Калькулятор помогает сориентироваться. Но есть
    ситуации, где нужна срочная консультация
    акушера-гинеколога или гематолога.</p>

    <ul>
        <li>Антитела уже обнаружены - нужен контроль
        титра каждые 2-4 недели и УЗИ с допплерометрией
        средней мозговой артерии плода</li>
        <li>Титр антител нарастает - возможно, потребуется
        внутриутробное переливание крови ребенку</li>
        <li>Предыдущий ребенок перенес гемолитическую
        болезнь новорожденного - риск при следующей
        беременности выше</li>
        <li>Беременность после переливания крови -
        могла произойти сенсибилизация к нескольким
        антигенам, не только D</li>
        <li>Планирование беременности при Rh- матери
        и Rh+ партнере - врач поможет спланировать
        профилактику заранее</li>
        <li>Многоплодная беременность - у близнецов
        может быть разный резус-фактор</li>
    </ul>

    <h2>Факты и мнения о резус-конфликте</h2>

    <div class="fact-block">
        <div class="fact-block-title">Мнение специалиста</div>
        <p>Академик РАН Г.М. Савельева, доктор медицинских
        наук, профессор и один из ведущих экспертов по
        перинатологии в России, на протяжении десятилетий
        изучала проблему резус-конфликта. Под ее руководством
        разрабатывались клинические рекомендации
        по резус-сенсибилизации и гемолитической болезни
        плода. Позиция Савельевой и ее школы однозначна:
        затраты на профилактику резус-изоиммунизации
        для системы здравоохранения существенно ниже,
        чем затраты на лечение гемолитической болезни
        плода и новорожденного. Своевременное введение
        антирезусного иммуноглобулина - самый надежный
        и экономически оправданный способ предотвратить
        тяжелые последствия.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Исторический факт</div>
        <p>Резус-фактор получил свое название благодаря
        макакам-резусам. В 1940 году Карл Ландштейнер
        (нобелевский лауреат за открытие групп крови)
        и Александр Винер иммунизировали кроликов
        эритроцитами этих обезьян и обнаружили, что
        полученная сыворотка вызывает реакцию агглютинации
        (склеивания) с эритроцитами примерно 85% людей.
        Так был найден антиген, который назвали
        "резус-фактор" - в честь подопытных приматов.
        До этого открытия причина гемолитической болезни
        новорожденных оставалась загадкой, а переливания
        крови нередко заканчивались гибелью пациентов
        по непонятным причинам.</p>
    </div>

    <div class="fact-block">
        <div class="fact-block-title">Современные исследования</div>
        <p>Сегодня определить резус-фактор будущего ребенка
        можно по крови матери - без прокола плодного
        пузыря и без какого-либо риска для беременности.
        Метод основан на анализе свободной ДНК плода,
        которая циркулирует в крови женщины уже с 10 недели.
        По данным международного исследования 2020 года,
        опубликованного в журнале PLOS One, сочетание
        антенатальной и постнатальной профилактики
        антирезусным иммуноглобулином предотвращает
        сенсибилизацию примерно в 99% случаев.
        Несмотря на это, согласно данным Росстата за 2023
        год, гемолитическую болезнь новорожденных в России
        диагностируют у 1,2% детей - профилактика
        проводится не везде и не всегда вовремя.</p>
    </div>

    <div class="disclaimer-block">
        <strong>Обратите внимание:</strong> Информация
        на этой странице носит справочный характер и не
        может заменить консультацию квалифицированного
        врача. Все решения по ведению беременности,
        назначению анализов и введению антирезусного
        иммуноглобулина принимает акушер-гинеколог
        на основе полного обследования. Если вы
        беременны и у вас отрицательный резус-фактор -
        обязательно сообщите об этом врачу при постановке
        на учет.
    </div>

</div>

<script>
var state = {
    motherRh: null,
    fatherRh: null,
    pregnancy: null,
    antiD: null,
    antibodies: null
};

function selectToggle(field, value, groupId, btn) {
    state[field] = value;
    var group = document.getElementById(groupId);
    var buttons = group.querySelectorAll('button');
    for (var i = 0; i < buttons.length; i++) {
        buttons[i].classList.remove('active');
    }
    btn.classList.add('active');

    if (field === 'pregnancy') {
        var antiDBlock = document.getElementById('antiDBlock');
        if (value === 'first') {
            antiDBlock.style.display = 'none';
            state.antiD = 'na';
        } else {
            antiDBlock.style.display = '';
        }
    }

    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 calculateRisk() {
    var resultDiv = document.getElementById('result');
    var errorDiv = document.getElementById('errorBlock');
    resultDiv.classList.remove('active');
    errorDiv.style.display = 'none';

    if (!state.motherRh) {
        showError('Выберите резус-фактор матери.');
        return;
    }
    if (!state.fatherRh) {
        showError('Выберите резус-фактор отца ребенка.');
        return;
    }
    if (!state.pregnancy) {
        showError('Укажите, какая по счету беременность.');
        return;
    }
    if (state.pregnancy !== 'first' && !state.antiD) {
        showError(
            'Укажите, вводили ли антирезусный иммуноглобулин ' +
            'в предыдущих беременностях.'
        );
        return;
    }
    if (!state.antibodies) {
        showError('Укажите результат анализа на резус-антитела.');
        return;
    }

    var motherLabel = state.motherRh === 'pos' ? 'Rh+' : 'Rh-';
    var fatherLabel = state.fatherRh === 'pos' ? 'Rh+'
        : state.fatherRh === 'neg' ? 'Rh-' : 'неизвестен';
    var pregLabel = state.pregnancy === 'first' ? 'первая'
        : state.pregnancy === 'second' ? 'вторая'
        : 'третья и далее';
    var antiDLabel = state.antiD === 'yes' ? 'да'
        : state.antiD === 'no' ? 'нет'
        : state.antiD === 'unsure' ? 'не помню'
        : 'не применимо';
    var abLabel = state.antibodies === 'found' ? 'обнаружены'
        : state.antibodies === 'notfound' ? 'не обнаружены'
        : 'анализ не сдавали';

    document.getElementById('resultParams').innerHTML =
        '<span>Мать: <strong>' + motherLabel + '</strong></span>' +
        '<span>Отец: <strong>' + fatherLabel + '</strong></span>' +
        '<span>Беременность: <strong>' + pregLabel + '</strong></span>' +
        (state.pregnancy !== 'first'
            ? '<span>Иммуноглобулин ранее: <strong>' +
              antiDLabel + '</strong></span>'
            : '') +
        '<span>Антитела: <strong>' + abLabel + '</strong></span>';

    var riskLevel = '';
    var riskClass = '';
    var riskText = '';
    var explanation = '';
    var recommendations = [];
    var probability = '';

    // Мать Rh+ - нет риска
    if (state.motherRh === 'pos') {
        riskLevel = 'Нет риска';
        riskClass = 'risk-no';
        riskText = 'Резус-конфликт невозможен';
        explanation =
            'Резус-конфликт возникает только у резус-отрицательных ' +
            'матерей. При Rh+ у матери ее иммунная система не ' +
            'вырабатывает антитела к резус-фактору ребенка, ' +
            'независимо от резус-фактора отца.';
        recommendations.push(
            'Дополнительных мер по профилактике ' +
            'резус-конфликта не требуется'
        );
    }
    // Оба Rh-
    else if (state.motherRh === 'neg' && state.fatherRh === 'neg') {
        riskLevel = 'Нет риска';
        riskClass = 'risk-no';
        riskText = 'Резус-конфликт невозможен';
        probability = 'Вероятность Rh+ у ребенка: 0%';
        explanation =
            'Оба родителя резус-отрицательные (генотип dd). ' +
            'Ребенок унаследует ген d от каждого из них ' +
            'и тоже будет Rh-. Конфликт по резус-фактору ' +
            'в этом случае исключен.';
        recommendations.push(
            'Профилактика резус-конфликта не нужна'
        );
        recommendations.push(
            'Антирезусный иммуноглобулин при этом ' +
            'сочетании не назначают'
        );
    }
    // Мать Rh-, отец Rh+ или неизвестен
    else if (state.motherRh === 'neg' &&
             (state.fatherRh === 'pos' ||
              state.fatherRh === 'unknown')) {

        if (state.fatherRh === 'pos') {
            probability =
                'Вероятность Rh+ у ребенка: 50-100% ' +
                '(зависит от генотипа отца - DD или Dd)';
        } else {
            probability =
                'Резус-фактор отца неизвестен - невозможно ' +
                'определить вероятность Rh+ у ребенка. ' +
                'Рекомендуем отцу сдать анализ.';
        }

        // Антитела обнаружены - высокий риск
        if (state.antibodies === 'found') {
            riskLevel = 'Высокий риск';
            riskClass = 'risk-high';
            riskText = 'Сенсибилизация произошла';
            explanation =
                'Антирезусные антитела уже обнаружены - ' +
                'иммунная система матери сенсибилизирована. ' +
                'Если ребенок Rh+, антитела могут проникнуть ' +
                'через плаценту и начать разрушать его ' +
                'эритроциты. Требуется тщательный контроль ' +
                'со стороны акушера-гинеколога.';
            recommendations.push(
                'Срочно обратитесь к акушеру-гинекологу ' +
                'или гематологу'
            );
            recommendations.push(
                'Контроль титра антител каждые 2-4 недели'
            );
            recommendations.push(
                'УЗИ с допплерометрией средней мозговой ' +
                'артерии плода для оценки анемии'
            );
            recommendations.push(
                'Антирезусный иммуноглобулин при наличии ' +
                'антител уже не эффективен - он не сможет ' +
                'подавить начавшийся иммунный ответ'
            );
            recommendations.push(
                'Определение резус-фактора плода по крови ' +
                'матери (неинвазивный тест с 10 недели)'
            );
        }
        // Первая беременность, антител нет
        else if (state.pregnancy === 'first' &&
                 state.antibodies === 'notfound') {
            riskLevel = 'Низкий риск';
            riskClass = 'risk-low';
            riskText = 'Сенсибилизация маловероятна';
            explanation =
                'При первой беременности иммунная система ' +
                'матери впервые контактирует с Rh+ эритроцитами ' +
                'ребенка. Антитела обычно не успевают ' +
                'сформироваться в опасном количестве. ' +
                'Вероятность проблем при первой беременности - ' +
                'менее 1-2%. Но сенсибилизация может произойти ' +
                'во время родов, поэтому профилактика обязательна.';
            recommendations.push(
                'Антирезусный иммуноглобулин на 28 неделе ' +
                'беременности (антенатальная профилактика)'
            );
            recommendations.push(
                'Повторный контроль антител перед введением ' +
                'иммуноглобулина'
            );
            recommendations.push(
                'После родов: определить резус-фактор ' +
                'ребенка. Если Rh+ - ввести иммуноглобулин ' +
                'в первые 72 часа'
            );
            recommendations.push(
                'Регулярный контроль антител по графику ' +
                'акушера-гинеколога'
            );
        }
        // Первая беременность, антитела не сдавали
        else if (state.pregnancy === 'first' &&
                 state.antibodies === 'notested') {
            riskLevel = 'Низкий - требуется анализ';
            riskClass = 'risk-low';
            riskText = 'Нужен анализ на антитела';
            explanation =
                'При первой беременности риск обычно низкий, ' +
                'но без анализа на антитела невозможно ' +
                'точно оценить ситуацию. Сенсибилизация ' +
                'могла произойти ранее - при переливании крови, ' +
                'внематочной беременности или другом контакте ' +
                'с Rh+ кровью.';
            recommendations.push(
                'Сдайте анализ на антирезусные антитела ' +
                'как можно скорее'
            );
            recommendations.push(
                'Сообщите акушеру-гинекологу ' +
                'о вашем резус-факторе при постановке на учет'
            );
            recommendations.push(
                'Планируйте антенатальную профилактику ' +
                'иммуноглобулином на 28 неделе'
            );
        }
        // Повторная беременность, иммуноглобулин вводили, антител нет
        else if (state.pregnancy !== 'first' &&
                 state.antiD === 'yes' &&
                 state.antibodies === 'notfound') {
            riskLevel = 'Низкий риск';
            riskClass = 'risk-low';
            riskText = 'Профилактика ранее проведена';
            explanation =
                'Антирезусный иммуноглобулин был введен в ' +
                'предыдущих беременностях, и антитела ' +
                'не выявлены - это хороший знак. Профилактика ' +
                'сработала. Но при каждой новой беременности ' +
                'контакт крови возможен снова, поэтому ' +
                'защиту нужно повторить.';
            recommendations.push(
                'Повторить введение иммуноглобулина ' +
                'на 28 неделе текущей беременности'
            );
            recommendations.push(
                'Контроль антител при постановке на учет, ' +
                'затем в 18-20 и 28 недель'
            );
            recommendations.push(
                'После родов: ввести иммуноглобулин, ' +
                'если ребенок Rh+'
            );
        }
        // Повторная, иммуноглобулин не вводили, антител нет
        else if (state.pregnancy !== 'first' &&
                 state.antiD === 'no' &&
                 state.antibodies === 'notfound') {
            riskLevel = 'Умеренный риск';
            riskClass = 'risk-moderate';
            riskText = 'Профилактика ранее не проводилась';
            explanation =
                'Профилактика иммуноглобулином в предыдущих ' +
                'беременностях не проводилась, но антитела ' +
                'пока не выявлены. Вам повезло - сенсибилизация ' +
                'не произошла, хотя риск был. ' +
                'Без профилактики вероятность появления антител ' +
                'после каждой беременности с Rh+ ребенком ' +
                'составляет 7-9%. Этот риск накапливается.';
            recommendations.push(
                'Обязательно введите антирезусный ' +
                'иммуноглобулин на 28 неделе текущей ' +
                'беременности'
            );
            recommendations.push(
                'Контроль антител каждые 4 недели'
            );
            recommendations.push(
                'После родов: иммуноглобулин в первые ' +
                '72 часа, если ребенок Rh+'
            );
            recommendations.push(
                'Обсудите с врачом план профилактики ' +
                'подробно - у вас повышенный риск'
            );
        }
        // Повторная, не помнит про иммуноглобулин, антител нет
        else if (state.pregnancy !== 'first' &&
                 state.antiD === 'unsure' &&
                 state.antibodies === 'notfound') {
            riskLevel = 'Низкий-умеренный риск';
            riskClass = 'risk-moderate';
            riskText = 'Требуется уточнение';
            explanation =
                'Антител нет - это благоприятный признак. ' +
                'Но без информации о предыдущей профилактике ' +
                'невозможно оценить, был ли риск снижен ' +
                'целенаправленно или просто повезло. ' +
                'Уточните в обменной карте или выписке ' +
                'из роддома, вводили ли вам иммуноглобулин.';
            recommendations.push(
                'Поднимите обменную карту или выписку ' +
                'из роддома от предыдущих родов'
            );
            recommendations.push(
                'Сообщите акушеру-гинекологу о ситуации'
            );
            recommendations.push(
                'Антенатальная профилактика иммуноглобулином ' +
                'на 28 неделе в любом случае рекомендована'
            );
            recommendations.push(
                'Контроль антител при постановке на учет, ' +
                'в 18-20 и 28 недель'
            );
        }
        // Повторная, иммуноглобулин вводили, антитела не сдавали
        else if (state.pregnancy !== 'first' &&
                 state.antiD === 'yes' &&
                 state.antibodies === 'notested') {
            riskLevel = 'Низкий - требуется анализ';
            riskClass = 'risk-low';
            riskText = 'Нужен анализ на антитела';
            explanation =
                'Профилактика иммуноглобулином проводилась ' +
                'ранее - это снижает вероятность ' +
                'сенсибилизации. Но без свежего анализа на ' +
                'антитела полную картину не оценить. ' +
                'Сдайте анализ - скорее всего, результат ' +
                'будет хорошим.';
            recommendations.push(
                'Сдайте анализ на антирезусные антитела'
            );
            recommendations.push(
                'Продолжайте плановое наблюдение ' +
                'у акушера-гинеколога'
            );
            recommendations.push(
                'Планируйте повторную профилактику ' +
                'иммуноглобулином на 28 неделе'
            );
        }
        // Повторная, иммуноглобулин не вводили, антитела не сдавали
        else if (state.pregnancy !== 'first' &&
                 (state.antiD === 'no' || state.antiD === 'unsure') &&
                 state.antibodies === 'notested') {
            riskLevel = 'Умеренный-высокий - требуется анализ';
            riskClass = 'risk-high';
            riskText = 'Срочно сдайте анализ на антитела';
            explanation =
                'Профилактика иммуноглобулином ранее не ' +
                'проводилась (или неизвестно), и анализ на ' +
                'антитела не сдавали. Это наименее ' +
                'прогнозируемая ситуация. Сенсибилизация ' +
                'могла произойти незаметно. Необходимо срочно ' +
                'выяснить, есть ли антитела.';
            recommendations.push(
                'Сдайте анализ на антирезусные антитела ' +
                'как можно скорее'
            );
            recommendations.push(
                'Обратитесь к акушеру-гинекологу для ' +
                'составления плана наблюдения'
            );
            recommendations.push(
                'Если антител нет - начните профилактику ' +
                'иммуноглобулином на 28 неделе'
            );
            recommendations.push(
                'Если антитела обнаружатся - потребуется ' +
                'усиленный мониторинг (титр антител, ' +
                'допплерометрия плода)'
            );
        }
        // Фолбек
        else {
            riskLevel = 'Требуется оценка врача';
            riskClass = 'risk-moderate';
            riskText = 'Нужна индивидуальная оценка';
            explanation =
                'Комбинация факторов требует индивидуальной ' +
                'оценки акушером-гинекологом. Обратитесь ' +
                'к врачу для детального обследования.';
            recommendations.push(
                'Обратитесь к акушеру-гинекологу'
            );
            recommendations.push(
                'Сдайте анализ на антирезусные антитела, ' +
                'если еще не сдавали'
            );
        }

        // Добавка про отца с неизвестным резусом
        if (state.fatherRh === 'unknown' &&
            state.antibodies !== 'found') {
            recommendations.push(
                'Отцу рекомендуется сдать анализ на ' +
                'резус-фактор - если он Rh-, риск конфликта ' +
                'полностью исключен'
            );
        }
    }

    // Вывод
    var riskBlock = document.getElementById('riskLevelBlock');
    riskBlock.innerHTML =
        '<div class="' + riskClass + '">' +
        '<span class="dose-highlight">' +
        riskLevel + '</span><br>' +
        '<span style="font-size:14px">' +
        riskText + '</span></div>';

    var probBlock = document.getElementById('probabilityBlock');
    if (probability) {
        probBlock.innerHTML =
            '<div class="dose-row" style="font-size:14px">' +
            probability + '</div>';
    } else {
        probBlock.innerHTML = '';
    }

    document.getElementById('explanationBlock').innerHTML =
        '<p>' + explanation + '</p>';

    var recBlock = document.getElementById('recommendationsBlock');
    if (recommendations.length > 0) {
        var recHtml =
            '<div class="info-note">' +
            '<strong>Рекомендации:</strong>' +
            '<ul class="recommendation-list">';
        for (var i = 0; i < recommendations.length; i++) {
            recHtml += '<li>' + recommendations[i] + '</li>';
        }
        recHtml += '</ul></div>';
        recBlock.innerHTML = recHtml;
    } else {
        recBlock.innerHTML = '';
    }

    resultDiv.classList.add('active');
}

// При загрузке: скрыть блок иммуноглобулина
document.getElementById('antiDBlock').style.display = 'none';
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Сообщение <a href="https://vracha-na-dom.ru/kalkulyatory/kalkulyator-riska-rezus-konflikta/">Калькулятор риска резус-конфликта</a> появились сначала на <a href="https://vracha-na-dom.ru">Вызов врача на дом</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
