Инструменты пользователя

Инструменты сайта


глава5

Это старая версия документа!


Диабет2000 DiaCalc Сахарный дневник

Реализация расчета компенсационной дозы в программных алгоритмах

Как говорилось выше, формула расчета компенсационной дозы слишком сложна, чтобы изо дня в день рассчитывать ее вручную.

*Во-первых*, это быстро надоест

*Во-вторых*, ошибки неизбежны.

*В-третьих*, это долго.

Надо доверить этот расчет тому, кто это делает лучше, быстрее и точнее. При этом освободить себя от всей рутинной работы. Определение дозы надо свести лишь к тому, чтобы сказать, что и сколько я собираюсь съесть и мгновенно получить нужную компенсационную дозу и рекомендации по ее распределению на БД и МД.

Естественно, при выборе этого «расчетчика», взгляд останавливается на персональном компьютере или ином гаджете с достаточно продвинутой операционной системой, позволяющей использовать языки программирования высокого уровня. Кому, как не ему заниматься этим делом.

Но компьютеру нужна программа, в которой будет четко расписан алгоритм расчетах в программном коде. Впрочем, при современном уровне развития языков программирования, это не проблема. Причем, эту программу можно написать на разных языках программирования. Будь-то С++, Delphi, Visual Basic, Java и т.д.

Эта программа должна иметь и уметь :

-базу данных продуктов с указанием их характеристик (содержание углеводов, белков, жиров в 100 граммах продукта) и ГИ . Т.е. данные, которые пишутся на упаковках продуктах, в книгах по кулинарии и т.д.

-уметь рассчитывать т.н. «сложные блюда», состоящие из различных компонентов согласно рецептов, определять их характеристики и хранить в базе данных

-уметь вести дневник диабетика с сохранением данных по течению болезни и хода ее компенесации.

-иметь дополнительные функции по определению рациональности питания, суточного каллоража и другие функции

-иметь дружеский интерфейс, позволяющий работать с ней и людям, не обремененным большими познаниями в компьютерной технике

-программа должна быть адаптирована не только для настольных ПК, но и для других гаджетов, будь то ноутбуки, ультрабуки, планшеты и смартфоны

Эти программы должны способствовать дальнейшему совершенствованию традиционных методов интенсивной инсулинотерапии (ИИТ) и переходу ее к точной интенсивной инсулинотерапии (ТИИТ) по следующим направлениям :

1.Отказ от ХЕ, как меры определения количества углеводов, подлежащих компенсации. Эти количества должны определяться не с помощью кусочков, кучек, ложек, кружек и т.д., а с помощью весов и в общепризнанных единицах системы мер и весов (в граммах)

2. Расчет компенсационной дозы производится не на основе каких-то 1-2 единицы инсулина на ХЕ, а на основе индивидуальных компенсационных коэффициентов, отражающих индивидуальность и степень тяжести конкретного диабета.

3.Компенсации подлежат не только углеводы, но и белки и жиры.

4.Использование программного расчета оптимизации инсулинового профиля.

Зачем ?

Затем, чтобы :

1.Добиться максимальной точности инсулинотерапии и приведение диабета в долговременно стабильное состояние, при котором он становится совсем иным, чем его декомпенсированный или недокомпенсированный собрат.

2.Быть свободным в выборе своего меню, не деля продукты на «вредные» или «невредные». Составлять свое меню исходя из своих гастрономических пристрастий, а не по указке какого-то диабета

3.Быть свободным в своем образе жизни.

Программа Диабет2000

Программа Диабет2000 предназначена для расчета компенсационных доз инсулина на основании количественных и качественных характеристик пищи и индивидуальных компенсационных коэффициентов.

И работает в среде операционной системы Windows/ К числу дополнительных функций программы относятся функции:

1.Анализа содержания и распределения основных компонентов (белков, жиров и углеводов) в выбранном меню и калорийность меню

2.Выполнение предварительных расчетов компенсационных доз для различных дискретных количеств продуктов, что поможет определять потребные дозы инсулина в отрыве от компьютера

4.Расчет и анализ индекса массы тела (ИМТ)

5.Расчета суточного калоража питания и отработку рекомендаций по продолжительности тех или иных видов физической нагрузки

6.Построение графиков общего инсулинового профиля при введении различных доз различного инсулина в различное время

Программа Диабет2000 написана на языке программирования Visual Basic с поддержкой баз данных формата .mdb, совместимых с базами данных программы Access.

Программа является бесплатной и доступной для скачивания с сайта Диа-Клуба http://www.dia-club.ru . На этом же сайте имеется форум поддержки программы, где можно получить ответы на вопросы, связанные с программой, и на другие вопросы компенсации сахарного диабета.

Основное рабочее окно программы

При запуске программу взору пользователя открывается основное рабочее окно программы, вид которого представлен на рисунке 4.1 :

Данное окно разбито на три основных части:

-Слева - элемент DBGrid (в синтаксисе языка VB), отображающий таблицу БД, в которой хранятся продукты с их характеристиками. Базовый набор продуктов поставляется вместе с программой. В дальнейшем пользователь может откорректировать его (ввести нужные ему продукты, убрать ненужные и т.д.) Все это можно сделать с помощью меню «Режимы работы», которое рассмотрим ниже. Данная таблица отображает только продукты, хранящиеся в рабочей БД. Кроме нее имеется архивная БД, в которой хранятся продукты, редко использующиеся в питании. Есть возможность обмена данными между этими базами (перенос или копирование), которая реализуется с помощью меню «Импорт/экспорт» (см. ниже). Колонка «Признак» предназначена для отображения признака продукта ( готовый это продукт с заранее известными характеристиками или сложное блюдо, изготовленное по собственному рецепту. Можно отобразить либо все продукты рабочей базы либо только наиболее часто употребляющиеся (любимые). Этот признак присваивается продуктам с помощью копок 1 и 2 в правой нижней части окна. Можно также выбрать режим отображения по классам продуктов (мясные, молочные, кондитерские и т.д.) Режимом отображения управляет меню «Показать»

-Справа вверху – элемент DBGrid, отображающий расчетную таблицу БД, т.е. таблицу, где составляется конкретное меню, которое нужно рассчитать.

-Справа внизу – фрейм с отображением результатов расчета (потребные дозы, количество ХЕ и т.д.)

Расчет компенсационной дозы

Расчет компенсационной дозы инсулина производится в основном расчетном окне программы на основании набранных в расчетную таблицу продуктов с их характеристиками, количества этих продуктов и введенных индивидуальных компенсационных коэффициентов.

Внимание: без предварительного определения индивидуальных компенсационных коэффициентов пользоваться программой НЕЛЬЗЯ !

Для определения компенсационной дозы необходимо выполнить следующие действия :

-набрать нужные продукты в расчетную таблицу. Набор продуктов в расчетную таблицу производится двойным щелчком левой кнопки мышки по продукту в левой таблице (по курсору, установленному напротив этого продукта). В случае ошибочного ввода, продукт из расчетной таблицы можно убрать тоже двойным щелчком.

-обозначить их количество в граммах

-установить свои компенсационные коэффициенты и размерность ХЕ (Примечание: эти величины сохранятся для следующих расчетов и будут сохраняться до тех пор, пока не появится необходимость в их изменении. -нажать кнопку «Рассчитать»

Итогом этих действий станет следующий рисунок 4.2

Произойдет расчет общей компенсационной дозы (КД) и ее деление на «быструю дозу» (БД) и «медленную дозу» (МД) См. формулу расчета компенсационной дозы. Кроме того, появится информация о содержании ХЕ в набранном меню и его калорийность.

Примечание: появившаяся кнопка «Печать» предназначена для распечатки полученных результатов на принтере, но эта функция будет работать лишь на ПК, на которых установлена полная версия Visual Basic 6.0

Под полученными расчетами появится фрейм с приглашением продолжить работы с целью провести дополнительные расчеты. При выборе «нет» он будет заменен фреймом, представленным на рисунке 4.3 :

В данном случае отобразится количество компонентов пищи в данном меню как в граммах, так и в процентах. Заодно будет указано распределение общей калорийности данного меню по его составляющим. Это полезно для тех, кто увлечен вопросами рационального питания. Надо признать, что съеденный мной завтрак соответствием требованиям рационального питания не блещет.

Расчет общей компенсационной дозы

В плане расчета доз интересен вопрос «Желаете получить дозу с учетом понижения СК ?». Что это такое ? Этот режим применяется в случаях, когда СК перед приемом пищи по каким-то причинам повышен и есть желание привести его к нужному уровню. Т.е. к самой КД добавить еще дозу на понижения сахара (ДПС) и получить общую компенсационную дозу. Но для того, чтобы рассчитать эту добавку к дозе, надо знать т.н. «цену единицы инсулина», т.е. величину, на которую понижает СК одна единица инсулина. Эта величина зависит от разных факторов, основными из которых являются масса человека и его компенсационные коэффициенты.Саму ЦЕИ мы рассматривали в предыдущей главе.

При этом у пользователя есть возможность предоставить право расчета и учета ЦЕИ самой программе или использовать ту ЦЕИ, которую пользователь определил экспериментально

Если утвердительно ответить на вопрос «Желаете получить дозу с учетом понижения СК ?», то появится следующее окно :

Пользователю будет предложено ввести свой вес (для расчета ЦЕИ), ввести эту ЦЕИ (расчетную или экпериментальную)исходный СК перед едой, желаемый СК и нажать кнопку «Рассчитать» В результате получим :

Т.е. программа добавит к уже рассчитанной КД дозу на понижение СК (ДПС). В итоге рекомендуемая доза составит 8.2+1.2= 9.4

Если же начальный СК будет очень высоким и я решу его резко понизить, то сначала мне будет выдано предупреждение о том, что падение СК более, чем на 5 ммоль/k может привести к откату. Если же я не послушаюсь подобного замечания и захочу сильно понижать СК, то картинка изменится и будет такой, как изображено на рисунке 4.6 :

В этом случае я получу предупреждение о том, что резко снижать СК не следует. В существующей версии программы это ограничение принято при ДПС более 2-х единиц инсулина.

Ввод, удаление и коррекция продуктов в базе данных

В этом параграфе рассмотрим меню «Режимы работы программы», состоящее из подменю «Добавить продукт или блюдо», «Изменить продукт или блюдо», «Удалить продукт или блюдо».

Сначала определимся с понятием «Продукт» и «Блюдо».

В понимании программы под продуктом понимается уже готовый продукт с известными характеристиками. Т.е. продукт кем-то изготовленный и исследованный на предмет содержания в нем белков, жиров и углеводов. Эти характеристики пишутся производителями продукта на упаковках. Характеристики приводятся в литературе, посвященной кулинарии, на сайтах и т.д.

Под блюдом понимается продукт собственного приготовления по своему уникальному рецепту. Оно приготавливается либо из готовых продуктов, либо из других блюд. Примером таких блюд могут быть супы, салаты и т.д., содержащие какие-то компоненты со своими характеристиками. Естественно, характеристики этого блюда будут зависеть от характеристик этих компонентов и их содержания в этом блюде, т.е. от рецепта блюда. Программа позволяет рассчитать характеристики этих блюд и ввести их базу данных. Причем, вводятся не только характеристики, но и рецепт приготовления блюда, чтобы при желании его можно было извлечь, изменить, пересчитать и вновь ввести в базу данных.

Самым простым подменю этого меню является «Удалить продукт или блюдо». Для его реализации достаточно подвести треугольный курсор к выбранному продукту и нажать на меню «Удалить продукт или блюдо». Это приведет к удалению продукта или блюда из базы данных.

Рассмотрим работу под подменю «Добавить продукт или блюдо», имеющее свои подменю «Готовый продукт» и «Собственное блюдо»

При выборе подменю «Готовый продукт» на месте расчетной таблицы появляется фрейм ввода готового продукта, показанный на рисунке 4.7

Здесь пользователю предлагается ввести произвольное наименование продукта и его характеристики (содержание белков, жиров, углеводов в 100 граммах и ГИ). В случае, если ГИ неизвестен, то при вводе продукта в базу, ему будет присвоен какой-то усредненный ГИ, который пользователь устанавливает по умолчанию. Кроме того, предлагается причислить этот продукт к какой-то категории для возможности дальнейшей выборки режиме «Показать». После заполнения всех данных продукт вводится в базу данных нажатием кнопки «Ввод в базу».

Ввод собственного блюда рассмотрим на каком-нибудь примере. Ну сварим какой-нибудь суп. К примеру, фасолевый. Я не берусь судить о вкусовых качествах этого «варева». Это не важно. Сейчас мы его берем только лишь в качестве примера порядка ввода.

В открывшемся окне, изображенном на рисунке 4.8, нащелкаем в «виртуальную кастрлюлю» компоненты нашего будущего супа и проставим их количества. При нащелкивании в правой колонке появляются и ГИ этих компонентов.

Следующим этапом является нажатие кнопки «Расчет объемных поправок» При этом появляется общий вес нашего «варева». После того , как суп сварился, взвешиваем его. Ну, к примеру, получилось 2200 г, поскольку часть воды испарилась. Появляется объемный коэффициент «уварки». Вводим название нашего супа и нажимаем на появившуюся кнопку «Расчет блюда». После появления рассчитанных данных нажимаем на появившуюся кнопку «Ввод блюда в базу». Все это изображено на рисунке 4.9

При необходимости откорректировать введенный продукт или блюдо надо воспользоваться меню «Режимы работы программы» - «Изменить продукт или блюдо», установив курсор на продукте или блюде, которое надо изменить. В случае коррекции готового продукта на месте расчетной таблицы появляется фрейм с изображением имеющихся характеристик, которые надо изменить и откорректированный продукт ввести в базу данных. При коррекции сложного блюда появляется окно, изображенное на рисунке 4.8. При двойном щелчке на блюдо, требующее коррекции, появляется рецепт этого блюда, который надо изменить. Дальнейшие действия аналогичны вводу блюда в базу данных. Его можно ввести под тем же названием (в этом случае откорректированное блюдо заменит имеющееся) или ввести с новым названием, сохранив предыдущее. Это управляется с помощью кнопочек «Заменить с тем же названием» и «Добавить с другим названием»

Отображение продуктов и блюд

Размер базы данных программы практически не ограничен. Это приводит к тому, что в ней можно хранить очень большое количество продуктов и блюд, что, в свою очередь, приводит к неудобствам в отображении. Это неудобство устраняется возможностью выборки и отображения продуктов по каким-то признакам, которыми наделил продукты пользователь. Всем этим можно управлять с помощью меню «Показать»

Рабочая и архивная базы данных

По мере накопления информации о продуктах может возникнуть ситуация, когда многие продукты не используются непосредственно в пище, но нужны. Примером могут быть сухие крупы, макароны, сырой картофель, сырое мясо и т.д. В таком виде их не едят, но они широко используются для приготовления сложных блюд. Кроме того, наверняка есть продукты, которые употребляются периодически. Или совсем редко или по сезону и т.д. Чтобы они не занимали место в рабочей базе данных их можно хранить в архивной базе с возможностью быстрого обмена между этими базами. Это осуществляется с помощью меню «Импорт/экспорт». При выборе этого меню на экране появляется окно, изображенное на рисунке 4.10

Продукты можно переносить из базы данных или копировать их или удалять. Эти режимы выбираются с помощью кнопок в нижней правой части окна. Перенос, копирование или удаление производится по двойному щелчку мышкой на курсоре против выбранного продукта.

В этом окне можно выполнять массовые операции по копированию, переносу или удалению продуктов с помощью меню «Массовые операции».

В этом же окне можно изменить и принадлежность продуктов к той или иной категории, что в дальнейшем будет использоваться в режиме «Показать».

Предварительный расчет

А что же делать в отрыве от компьютера ? В этом случае Вам поможет режим предварительного расчета потребных доз и ХЕ для каких-то дискретных количеств продуктов ( 10 г, 20, г и т.д. до 100) Этот режим выбирается с помощью меню «Предварительный расчет и распечатка», которое открывает окно, представленное на рисунке 4.11

Смысл этого режима заключается в предварительном расчете доз и ХЕ для фиксированных количеств продуктов и наличие распечатки этих расчетов. Зная эти дозы и ХЕ, можно легко рассчитать потребные дозы для любого количества продуктов. В распечатанном виде эти таблицы можно брать с собой в поездку, поход и т.д. Рассчитывать можно как для произвольно выбранных продуктов, так и для всех продуктов, находящихся в рабочей базе данных.

Рассмотрим все это на совершенно реальном примере, пообедав в кафе. Сегодня я закажу себе :

•кружку пива - 500 граммов

•лососины малосольной -50 гр.

•свиную отбивную - 150 граммов

•с картофельным пюре - 100 гр.

•салат из свежих помидоров - 150

•хлеб - 50 граммов

Пока официант приносит заказ, я все быстро и ТОЧНО считаю с помощью своей таблицы, колюсь ТОЧНОЙ дозой прямо через рубашку и с аппетитом обедаю. Все! Вы можете мерить у меня сахар через 3 часа. Он будет в норме. Кстати, я зашел в кафе не один, а со своим приятелем, тоже диабетиком. Пока я уверенно делаю заказ, он - мнется. И вроде есть хочет и не знает сколько уколоть. В конце концов, он стоит перед выбором: заказать себе 150 граммов опостылевшей, но такой «родной» овсянки или плюнуть на все, заказать нормальный обед и кольнуться на глазок. НЕ ТОЧНО. Не знаю, каков будет его выбор. Каждый волен жить, как ему хочется, и я не навязываю свой выбор. Впрочем, у него и выбора-то нет. Беда в том, что я не могу дать приятелю свою табличку. Она строго индивидуальна и рассчитана на МОИ коэффициенты. Если он следит за своим здоровьем, то закажет овсянку, примет определенную дозу и с завистью будет смотреть в мою тарелку. Если не следит – закажет нормальный обед, который будет очередным шагом к неминуемым последствиям диабета. Почему ? Да потому, что на глаз скомпенсироваться трудно. А у моего приятеля стаж диабета каких-то 2 года. У него еще нет осложнений, но и считать он еще не умеет. Со временем придет и то и другое … Хотелось бы, чтобы первое пришло раньше, но не всегда это бывает. Как говорится : «Мудрость приходит с возрастом, но бывает, что возраст приходит один.»

Пока суть, да дело, я поедаю свой обед и, заодно, по-дилетантски отвечаю на его дилетантские вопросы типа: «А что, при диабете и пиво можно пить ?» А почему нет ?

Впрочем, следует сказать, что и я имею определенные ограничения, т.к. должен заказывать только известные мне и заранее просчитанные блюда. Но мои варианты несравнимо шире, чем у моего приятеля. На одном листе при нормальном шрифте умещается порядка 50-60 строк. Вот моя база и умещается на трех листах. Я ее сделал в виде блокнотика и ношу с собой. Один экземпляр валяется в машине. Еще один на даче. Такой табличкой можно пользоваться в турпоходе, командировке, на пикнике и т.д. Но, разумеется, в этом случае придется количество продуктов оценивать на глаз. Но извините, Вы и сейчас все оцениваете на глаз. Но Вы не только оцениваете исходное значение на глаз, но и считаете на глаз. Т.е. Вы вообще фактически ничего не считаете. Но при использовании этой таблички Вы хотя бы погрешности расчета сводите к минимуму. Но, впрочем, и альтернативы у Вас нет. Кроме как сидеть дома и никуда не ездить и не ходить.

С появлением портативных гаджетов и нового поколения программ, о которых поговорим ниже, этот режим потерял свою актуальность

Моделирование инсулиновых профилей

Программа позволяет смоделировать инсулиновые профили от введенных доз разных инсулинов. Это делается с помощью меню «Профили», при нажатии на которое появляется окно ввода доз инсулинов, а при нажатии кнопок «Рассчитать» и «Показать» появляются данные расчета интегральных доз инсулина и их график. Сверху графиков отображаются сами интегральные дозы, начиная с 00:00 часов.

На рисунках 4.12 и 4.13 этот процесс отображен для примера ввода по 8 единиц новорапида в 8:00, 13:30, 19:00 и 12 единиц лантуса в 7:00. Ввод производится с дискретностью в полчаса. Соответственно время 13:30 отображается как 13,5 часов.

Анализ ИМТ, суточного калоража и подбора физических нагрузок

Программа позволяет проанализировать индекс массы тела и определить минимальную калорийность суточного рациона для поддержания веса. Такая возможность предоставляется после расчета набранного меню и утвердительного ответа на вопрос «Желаете проанализировать свой вес ?» (см. рисунок 4.2 ) В этом случае появляется фрейм, изображенный на рисунке 4.14

В нем надо ввести свои исходные данные *вес, рост, объем запястья, пол, возраст, физическую активность, отображающую образ жизни, и нажать кнопку «Определить». В этом случае определяется ИМТ и подсчитывается минимальное количество калорий, которое должен потреблять человек в сутки и рекомендуемый каллораж для поддержания данного веса.

Если нажать на кнопку «Продолжить» и утвердительно ответить на вопрос «Желаенте проанализировать суточную калорийность ?», то откроется фрейм, изображенный на рисунке 4.15

В этом фрейме можно с накоплением подсчитывать количество употребленных калорий в течение дня. С помощью кнопки «Продолжить учет, добавляя последний прием пищи к уже имеющимся значениям» Вы добавляете последнее рассчитанное меню к уже учтенным данным предыдущих приемов пищи. И так с накоплением анализируете количество принятых килокалорий и компонентов пищи. В случае, если при очередном приеме пищи в этот день Вы превысили заданный Вам суточный калораж ( рассчитанный выше на рисунке 4.14, то появится такой фрейм

В этом случае Вам будет указано, сколько килокалорий Вы уже «переели» и будет предложено подобрать себе какую-то физическую нагрузку для того, чтобы «сжечь» лишние килокалории. Если Вы ответите «Да», то в правой таблице правого фрейма появится рекомендуемое время той или иной нагрузки для «сжигания» именно этого излишка килокалорий. Именно тех, которые Вы сегодня «переели».

Скачивание и установка программы

Установка программы производится путем инсталляции двух файлов, которые можно скачать по следующим ссылкам

файл предварительной установки

https://www.juri.dia-club.ru/downloads/pre_install.zip

файл установки программы

https://www.juri.dia-club.ru/downloads/d2000v6.1.zip

файл обновления

https://www.juri.dia-club.ru/downloads/d2000_new.zip

Первый файл устанавливает на компьютер элементы языка Visual Basic 6.0, необходимые для работы программы.

Второй файл устанавливает саму программу. Результатом установки станет образование директории C:\Program Files\Diabet2000, где будет сам программный файл и файлы баз данных, которые поставляются в комплекте программы.

Под обновлением понимаются новые версии программы. Это просто программный файл, который надо скачать и распаковать в программную папку. В настоящее время в качестве обновления предлагается версия V6.1, в которой можно выбрать точность расчета до одного или двух знаков после запятой.

Программа нетребовательна к ресурсам ПК и может работать даже на устаревших компьютерах, цена которых соизмерима с ценой глюкометра. Она может работать в среде операционных систем Windows 98/ME/XP/7/8/10

Программа бесплатна и не требует никакой регистрации, никаких паролей и ключей

глава5.1531614330.txt.gz · Последнее изменение: 2018/07/15 03:25 — juris