← к концептам

Контракт данных: 132 полей

Всё, что бэкенд ns-analytics передаёт главной странице (контекст build._ctx + шаблоны dashboard.html.j2, dashboard_ux.html.j2 из релиза ns-r5-20261023). Каждый из 25 концептов выводит ВСЕ эти поля (кроме трёх допустимо свёрнутых списков — таблица графика, события, расшифровка ночного прогноза, как и в проде); полнота проверяется автоматически. Значения в колонке «Пример» — мок-снимок, совпадающий со скриншотами 23.10.26 14:25 МСК.

snapshot · 9config · 5flags · 5current · 9insulin · 16devices · 7ages · 15today · 16weeks · 22timeline · 5chart · 5predictor · 17links · 1

Путь в макетеЧто этоКлюч / источник в бэкендеТипПример
snapshot.isoВремя снимка (МСК)snapshot_isostr23.10.26 14:25
snapshot.msВремя снимка, unix mssnapshot_msint1792754700000
snapshot.noteПометка «снимок, не мониторинг»dashboard-snapshotstrСнимок: 23.10.26 14:25 МСК · не непрерывный мониторинг
snapshot.versionВерсия данных, sha256data-dashboard-versionstr79e00acea51062200667c77baefe6decedff60116cfb4b5c90cf0e0a2cbe3697
snapshot.refresh_every_sИнтервал проверки обновлений, сsetInterval(check,30000)int30
snapshot.update_pendingЕсть новая версия данныхpendingboolда
snapshot.refresh_statusСтатус проверки обновленийdashboard-refresh-statusstrДоступно обновление. Примените его, когда закончите чтение.
snapshot.update_buttonКнопка «Обновить данные, сохранив место»dashboard-updatestrОбновить данные, сохранив место
snapshot.footerПодвал: обновлено + дисклеймерfooterstrОбновлено: 23.10.26 14:25 · NS-Analytics · Не является медицинской рекомендацией
config.hypo_mmolНижняя граница цели, ммоль/лconfig.targets.hypo_mmolstr3,9
config.hyper_mmolВерхняя граница цели, ммоль/лconfig.targets.hyper_mmolstr10,0
config.stale_after_secПорог устаревания CGM, сconfig.stale_after_secint900
config.tzЧасовой пояс отчётаtzutil.MSKstrEurope/Moscow (UTC+3)
config.metric_profile.lineМетрический профиль (TIR-цель)metric_profilestrstandard · 3,9–10,0 · TIR > 70%
flags.staleФлаг: данные устарелиstaleboolнет
flags.current_staleФлаг: измерение устарелоcurrent_staleboolнет
flags.night_enabledФлаг: ночной прогноз включёнnight_enabledboolда
flags.has_reports_pageФлаг: есть страница отчётовhas_reports_pageboolда
flags.timeline_incompleteФлаг: события неполныеtimeline_incompleteboolнет
current.mmolСахар, ммоль/лcurrent.sgvstr8,2
current.mgdlСахар, мг/длcurrent.sgvint148
current.directionНаправление сенсораcurrent.directionstrSingleUp
current.clsКласс зоны (ok/warn/bad)current.clsstrok
current.delta_mmolДельта, ммоль/лcurrent.delta_mmolstr+0,2
current.delta_interval_msИнтервал дельты, мсcurrent.delta_interval_msint118200
current.delta_textПодпись дельтыcurrent.delta_textstr+0,2 ммоль/л за 1,97 мин
current.age_minВозраст измерения, минcurrent.age_minint4
current.dateВремя измерения, unix mscurrent.dateint1792754460000
insulin.iob.valueIOB, Uopenaps.iob.iobstr3,92
insulin.iob.statusIOB: расчёт / устарелopenaps_display.iob.freshstrрасчёт
insulin.iob.age_minIOB: возраст, минopenaps_display.iob.age_minint4
insulin.iob.conflictIOB: конфликт расчётовopenaps_conflicts.iobstrнет
insulin.cob.valueCOB, гopenaps.suggested.COBstr9,3
insulin.cob.statusCOB: расчёт / устарелopenaps_display.cob.freshstrрасчёт
insulin.cob.age_minCOB: возраст, минopenaps_display.cob.age_minint4
insulin.cob.conflictCOB: конфликт расчётовopenaps_conflicts.cobstrнет
insulin.basal.valueBasal сейчас, U/hbasal_displaystr0,81 U/h
insulin.basal.kindBasal: temp или профильbasal_display.temp|basestrtemp
insulin.basal.temp_remaining_minTemp basal: осталось, минTempBasalRemainingint26
insulin.basal.base_rateБазовая ставка профиляBaseBasalRatestr0,75 U/h
insulin.basal.age_minBasal: возраст данных, минbasal.tsint3
insulin.profile.pctПрофиль, %profile_display.valuestr110%
insulin.profile.nameИмя профиляActiveProfilestrKirill
insulin.profile.age_minПрофиль: возраст, минprofile_display.tsint3
devices.phone.valueБатарея телефонаuploaderBatterystr61%
devices.phone.chargingТелефон заряжаетсяisChargingboolнет
devices.phone.age_minТелефон: возраст, минphone_tsint3
devices.pump.valueБатарея помпыpump.battery.percentstr100%
devices.pump.age_minПомпа: возраст, минpump_field_age_min.batteryint3
devices.reservoir.valueРезервуар, Upump.reservoirstr143 U
devices.reservoir.age_minРезервуар: возраст, минpump_field_age_min.reservoirint3
ages.sensor.valueВозраст сенсораages.sensorstr2д19ч
ages.sensor.daysВозраст сенсора, сутокages.sensorfloat2.79
ages.sensor.sinceСенсор установленages.sensor_tsstr20.10.26 19:25
ages.sensor.warn_dСенсор: порог «внимание», сутage_cls.warn_dint13
ages.sensor.bad_dСенсор: порог «критично», сутage_cls.bad_dint14
ages.site.valueВозраст катетераages.sitestr39ч
ages.site.daysВозраст катетера, сутокages.sitefloat1.62
ages.site.sinceКатетер установленages.site_tsstr21.10.26 23:25
ages.site.warn_dКатетер: порог «внимание», сутage_cls.warn_dint4
ages.site.bad_dКатетер: порог «критично», сутage_cls.bad_dint5
ages.insulin.valueВозраст инсулина в резервуареages.insulinstr39ч
ages.insulin.daysВозраст инсулина, сутокages.insulinfloat1.62
ages.insulin.sinceИнсулин заменёнages.insulin_tsstr21.10.26 23:25
ages.insulin.warn_dИнсулин: порог «внимание», сутage_cls.warn_dint4
ages.insulin.bad_dИнсулин: порог «критично», сутage_cls.bad_dint5
today.tir.valueTIR сегодняtoday.tir_pctstr90%
today.tir.rangeДиапазон TIRtir_rangestr3,9–10,0
today.tir.clsКласс TIR (ok/warn/muted)tir_clsstrok
today.avg.valueСредний сахар сегодня, ммоль/лtoday.avg_mmolstr5,9
today.hba1c.valueРасчётный HbA1c (ADAG)today.hba1c_adagstr5,3%
today.hba1c.noteПояснение к HbA1chba1c notestrHbA1c по обратной ADAG: (средний CGM в мг/дл + 46,7) / 28,7; не лабораторный анализ. За ко
today.coverage.valueПокрытие данными с начала сутокtoday.coverage_pctstr97,3%
today.counts.totalОтсчётов всегоtoday.totalint168
today.counts.belowОтсчётов ниже целиtoday.belowint13
today.counts.in_rangeОтсчётов в целиtoday.in_rangeint151
today.counts.aboveОтсчётов выше целиtoday.aboveint4
today.bar.legendЛегенда полосы гипо/норма/гиперbar_legend_pctstrГИПО 7,7% · НОРМА 89,9% · ГИПЕР 2,4%
today.bar.capture_lineСтрока «данных за сутки»capture_vstrДАННЫХ ЗА СУТКИ 97,3%
today.reliableДостаточно данных (покрытие ≥ 70%)reliableboolда
today.quality_noteПримечание о качествеquality_notestr(пусто → «нет»)
today.observed_lowНаблюдалось ниже целиobserved_lowstr(пусто → «нет»)
weeks.cur.avgСредний сахар, эта неделяweeks.cur.avgstr7,1
weeks.cur.avg_trendТренд среднего, эта неделя_trendstr▲
weeks.cur.tirTIR, эта неделяweeks.cur.tirstrTIR 81%
weeks.cur.tir_trendТренд TIR, эта неделя_trendstr▲
weeks.cur.insИнсулин, эта неделяweeks.cur.ins_ustr97 U
weeks.cur.ins_trendТренд инсулина, эта неделя_trendstr▼
weeks.cur.coverage_pctПокрытие, эта неделяweeks.cur.coverage_pctstr96,8%
weeks.cur.nОтсчётов, эта неделяweeks.cur.nint1291
weeks.cur.insulin_method.calculation_versionМетод инсулина: версия, эта неделяinsulin_method_card.calculation_versionstreffective-profile-v2
weeks.cur.insulin_method.statusМетод инсулина: статус, эта неделяinsulin_method_card.statusstravailable
weeks.cur.insulin_method.variantМетод инсулина: вариант A/B, эта неделяinsulin_method_card.variantstrA
weeks.prev.avgСредний сахар, прошлая неделяweeks.prev.avgstr7,0
weeks.prev.avg_trendТренд среднего, прошлая неделя_trendstr(пусто → «нет»)
weeks.prev.tirTIR, прошлая неделяweeks.prev.tirstrTIR 70%
weeks.prev.tir_trendТренд TIR, прошлая неделя_trendstr(пусто → «нет»)
weeks.prev.insИнсулин, прошлая неделяweeks.prev.ins_ustr99 U
weeks.prev.ins_trendТренд инсулина, прошлая неделя_trendstr(пусто → «нет»)
weeks.prev.coverage_pctПокрытие, прошлая неделяweeks.prev.coverage_pctstr99,2%
weeks.prev.nОтсчётов, прошлая неделяweeks.prev.nint2000
weeks.prev.insulin_method.calculation_versionМетод инсулина: версия, прошлая неделяinsulin_method_card.calculation_versionstreffective-profile-v2
weeks.prev.insulin_method.statusМетод инсулина: статус, прошлая неделяinsulin_method_card.statusstravailable
weeks.prev.insulin_method.variantМетод инсулина: вариант A/B, прошлая неделяinsulin_method_card.variantstrA
timeline.summaryИтог за 24 чtimeline_summarystr5 приёмов · 288 г · 81,5 U
timeline.countСобытий за 24 чtimeline_countint86
timeline.rowsСписок событий за 24 чtimeline_rowslistсписок, 86 шт.
timeline.rejectedОтброшено повреждённых событийtimeline_rejectedint0
timeline.noticeПредупреждение о неполных событияхtimeline_noticestrнет
chart.plotГрафик сахара и IOB за 24 чrender_chartsvg—
chart.descriptionОписание графика (мин/макс/последнее)chart aria-labelstrпоследнее 8,2, минимум 2,9, максимум 11,4 ммоль/л, ось в ммоль/л
chart.legendЛегенда графикаlegendstrСахар (ммоль/л, левая ось) · Активный инсулин (U, правая ось)
chart.tableТаблица данных графика (время · сахар · IOB)chart-datalistсписок, 288 шт.
chart.slots_countТочек сахара в окнеsgv_slotsint276
predictor.verdictНочной прогноз: вердиктpredictor.verdictstrПовышенный риск гипо
predictor.levelНочной прогноз: уровеньpredictor.levelstrmedium
predictor.score_labelНочной прогноз: баллыpredictor.scorestr58 / 100 баллов
predictor.explainНочной прогноз: что учтеноpredictor.explainstrактивного инсулина вечером 2,4 U · углеводов 12 г
predictor.night_labelНочь расчётаpredictor.night_labelstrночь 22.10 → 23.10 (22:00–07:00)
predictor.night_expiredНочь завершилась (прошлый прогноз)predictor.night_expiredboolда
predictor.updatedРасчёт прогноза, МСКpredictor.updated_isostr22.10.26 22:10
predictor.textЦифры расчёта (текст)predictor.textstrРасчёт 22:10 · IOB 2,4 U · COB 12 г Минимум по прогнозу: 3,6 ммоль/л около 06:30 Базал по
predictor.degradedНеполные входы расчётаpredictor.degradedstrнет
predictor.inputs.iob_uВход: IOB вечером, Upredictor.inputs.iob_ustr2,4
predictor.inputs.cob_uВход: COB вечером, гpredictor.inputs.cob_ustr12
predictor.trust.sentenceПроверка прогноза за 30 ночей (фраза)trust_sentencestrЗа 30 ночей: подтверждённых предупреждений до начала события — 7, из них с эпизодом 3 (43%
predictor.trust.n_nightsНочей провереноtrust.n_nightsint30
predictor.trust.warned_nightsНочей с предупреждениемtrust.warned_nightsint7
predictor.trust.hitПредупреждений подтвердилосьtrust.hitint3
predictor.trust.missedГипо мимо прогнозаtrust.missedint1
predictor.noticeПредупреждение прогнозаpredictor_noticestrнет
links.0.titleСсылка «Отчёты и качество данных»links[0].titlestrОтчёты и качество данных

Режимы проверки состояний: гипо · гипер · устарело · износ расходников (параметр ?state= работает на любой странице).