Библиотека классов для программ с общей БД

Модераторы: Connie, Модераторы форумов Диа-клуба

Библиотека классов для программ с общей БД

Сообщение Vitamin » 22 фев 2014, 11:28

Привет всем!


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

 Скрытый текст
Изображение


класс День - содержит список процедур. Отражает данные за день

класс Процедура - содержит список событий. Процедура - это набор событий на определенное время. Например, все это одна процедура: еда на 3 ХЕ, МД, БД. Также процедура содержит StartItem. Когда происходит старт редактирования любого события из этой процедуры, запускается StartItem и передается ему вся процедура. При этом Android ищет зарегистрированные программы для обработки этого Intent. Если найдена одна программа - ей и передается процедура на редактирование. Если найдено несколько программ с одним и тем же Intent - выводится список, чтобы пользователь выбрал программу для обработки. Т.е. процедура целиком привязана к программе, ее породившей.

класс Событие - это отдельное событие в рамках процедуры. Например, еда. Или МД. Или БД...


В каждом классе есть метод addExtras(key, value) – он добавляет дополнительные значения к объекту. Например, нужно хранить в процедуре (или событии) еще и количество истраченных полосок - пожалуйста, вызываем addExtras("usedStick", "2").


В классах не указаны методы для сохранения данных в БД. Интересно обсуждение именно подхода к реализации.

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


Пока как-то так...

За это сообщение автора Vitamin поблагодарил:
forester (22 фев 2014, 11:41)
Рейтинг: 1.08%
 
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 23 фев 2014, 16:49

Продолжаем нашу кампанию...

 Скрытый текст
Изображение


В формате Visio: https://drive.google.com/file/d/0B6MI-3xwSgp8R1lDTk1qUFpNYjA/edit?usp=sharing

Появился класс Фактор - это то, что повышает или уменьшает СК. Для фактора указывается его профиль (с какой силой действует, начиная со старта приема), его силу (зависящую от времени суток). Также фактор привязывается к пользователю. Т.е. каждый пользователь имеет свой набор факторов.

Т.е. К1, К2 - это не свойство пользователя, это свойство фактора! Переходим на новый инсулин - новые К1 и К2. Остались остатки старого инсулина - используется для расчетов старые К1 и К2.


В классе User хранятся независимые настройки - типа количество углеводов на 1 ХЕ и т.д.

Возник вопрос - насколько вообще востребована поддержка нескольких пользователей? Ведь обычно мобильное устройство - это личное устройство. Если поддерживать нескольких пользователей не нужно - тогда класс User не будет связан ни с какими другими классами - схема упростится.

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


Цель создания группы классов - чтобы программы работали с классами, а уж сами классы будут обращаться к общей БД.
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 11:27

Продолжаем нашу кампанию...

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

Очень удобно - съел N, компенсировать по формуле - M.


Однако меня, например, также интересует график изменения СК. Пусть он не очень точный, но мне помогает отслеживать хвостики, определять текущее движение СК - вверх или вниз...

Соответственно, в этом случае для каждого фактора задается не К1 в классическом понимании, а коэффициент ЦЕ - цена единицы, т.е. на сколько данный фактор увеличит/уменьшит СК.


Эти коэффициенты (К1 и ЦЕ) связаны: 1 ХЕ повышает СК примерно на 2 мМоль/Л. (Как Вы уже догадались, 2 мМоль/Л - это ЦЕ для фактора ХЕ).

Соответственно, К1(t) = ЦЕ(t) * 2

Или точнее К1(t) = ЦЕ_фактора(t) * ЦЕ_ХЕ(t)


Т.е. из общей канвы мы не выбиваемся.

При этом удобно пытаться строить график СК: съели ХЕ - СК увеличился на столько. Ввели инсулин - СК уменьшился на столько. Съели таблетку - СК еще уменьшился на значение.

Текущий уровень СК - это разность между этими показателями плюс предыдущий уровень СК.



Теперь по поводу ХЕ.

В ячейке дневника надо как то показать числом, сколько было съедено пищи. Это удобно для анализа. Для этого удобно выполнить такой трюк:
1. рассчитать компенсационную дозу инсулина на прием пищи (БД + МД, т.е. доза на углеводы + доза на белки и жиры),
2. найти количество углеводов, компенсируемых этой дозой инсулина
3. определить количество ХЕ для этих углеводов (у нас ведь есть в настройках - количество углеводов в одной ХЕ)

Т.о. получим количество ХЕ и запишем его в дневник.

О желательности такого расчета также упомянуто в соседних ветках - ввод показателя ХБЖЕ:
http://www.dia-club.ru/forum_ru/viewtopic.php?f=44&t=16946&start=45#p459362
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Juris » 24 фев 2014, 12:23

Переходим на новый инсулин - новые К1 и К2. Остались остатки старого инсулина - используется для расчетов старые К1 и К2.

Компенсационные коэффициенты не зависят от марки применяемого болюсного инсулина. От марки применяемого инсулина зависит технология применения компенсационных доз, рассчитанных по этим коэффициентам, т.е. технология оптимизации инсулинового профиля. Другими словами, величина компенсационных коэффициентов отражает лишь количественную сторону компенсации, а не качественную. Качественная сторона реализуется дополнительными мерами, описанными в "измышлениях", а не шмырганьем коэффициентами тудой-сюдой в зависимости от применяемого инсулина.
Что касается этого :
Эти коэффициенты (К1 и ЦЕ) связаны: 1 ХЕ повышает СК примерно на 2 мМоль/Л. (Как Вы уже догадались, 2 мМоль/Л - это ЦЕ для фактора ХЕ).

то да, связь имеется. Более того, в одной из тем форума даже была попытка уловить эту связь. И даже в программу была введена так называемая "Расчетная ЦЕИ". Но следует признать, что эта величина слишком "теоретическая", чтобы уделять ей слишком много внимания и слишком приблизительная, чтобы делать на нее ставки. Да и даже теоретически она не распространяется на всех :не знаю
https://juri.dia-club.ru/ - не берите особо в голову. Это всего лишь измышления дилетанта и не более того.
Juris

 
Сообщения: 14113
Зарегистрирован: 31 мар 2004, 17:49
Откуда: Рига, Латвия
Возраст: 73

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 13:42

Juris писал(а):Компенсационные коэффициенты не зависят от марки применяемого болюсного инсулина.


Для меня новорапид более "злой" по сравнению с актрапидом - валит СК на большую величину. Да и где то я читал, что при переходе на другой инсулин нужно заново подбирать дозу.

Учитывая чехарду с инсулином (энд: "Вот сейчас нет такого инсулина - возьмите другой") приходится коэффициенты учитывать отдельно.

Или это связано с тем, что новорапид более быстрый?


Juris писал(а):Но следует признать, что эта величина слишком "теоретическая", чтобы уделять ей слишком много внимания и слишком приблизительная, чтобы делать на нее ставки.


Из формулы К1(t) = ЦЕ(t) * 2 следует, что если К1 не теоретическая, то и ЦЕ не теоретическая - они "одного класса силы".
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Juris » 24 фев 2014, 17:16

Для меня новорапид более "злой" по сравнению с актрапидом - валит СК на большую величину.

Это зависит от того, что понимать под словом "злость". Если понимать его сахаропонижающее воздействие вообще, то это одно. А если его "кибениматику", то это другое. Если первое, то оно измеряется в единицах и эти единицы для всех инсулинов одинаковые. Будь то короткий, ультракороткий, длиинный, полудлинный и т.д. инсулин.И эти единицы определяются количеством кристаллического инсулина, содержащего в этой единице. Как ? Я точно не помню, но как-то путем экспериментов на кролике определенной массы, определенной длинны ушей, и размером хвостика :D Как-то так. Впрочем, на форуме есть тема, где Фантик все подробно расписывает :|
Что касается "кибениматики", то она действительно разная у всех инсулинов. Одна и та же единица разного инсулина может реализовать свои сахаропонижающие свойства по-разному. Кто быстрее ( злее ), а кто и медленней ( добрее ), а кто и совсем тормознуто ( лениво ). Но это не количественная, а именно качественная сторона вопроса, к компенсационным коэффициентам не относящаяся :не шали
Из формулы К1(t) = ЦЕ(t) * 2 следует, что если К1 не теоретическая, то и ЦЕ не теоретическая - они "одного класса силы"

К1 никогда не являлся и не является величиной теоретической. И это отличает его от "расчетной ЦЕИ", которая является величиной исключительно теоретической. Даже - "теоретической" :) Да, можно задаться целью и определить ЦЕИ практическую. А зачем ? Ведь в этом случае мы придем к какому-то двойному расчету. Сначала будем считать, насколько ХЕ повысит СК, а потом - сколько надо инсулина, чтобы этот СК убрать. А зачем ? Не проще ли сразу рассчитать нужную дозу инсулина, чтобы депонировать эту глюкозу и иметь конечный СК равный исходному ? Рассчитать с помощью коэффициентов и не более того. Не проще ли чесать правое ухо правой рукой, а не левой ? :думаю А желающим депонировать это не только полностью, но и красиво, можно предложить методы оптимизациит инсулинового профиля. Которые, конечно, будут зависеть от марки применяемого инсулина и учитывать его "злость". А ЦЕИ при этом может вообще постоять в сторонке :wink: ЦЕИ, в принципе, нужна лишь для одного - учесть ДПС в КД :)
https://juri.dia-club.ru/ - не берите особо в голову. Это всего лишь измышления дилетанта и не более того.
Juris

 
Сообщения: 14113
Зарегистрирован: 31 мар 2004, 17:49
Откуда: Рига, Латвия
Возраст: 73

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 17:43

Juris писал(а):Сначала будем считать, насколько ХЕ повысит СК, а потом - сколько надо инсулина, чтобы этот СК убрать. А зачем ?


Компьютер железный, пусть считает. А нам это дает возможность построить график (знаю, знаю - график не нужен, но мне он интересен).

Про профиль пока ничего не готов сказать.

Juris писал(а):ЦЕИ, в принципе, нужна лишь для одного - учесть ДПС в КД


Т.е. ЦЕ (ЦЕИ) - очень универсальная величина. Например, инсулин снижает СК на столько-то, таблетка - на столько-то, физкультура - на столько-то.

Т.е. как ни крути - ЦЕ (ЦЕИ) - это характеристика фактора. Либо для всех инсулинов можно ЦЕИ(t) объединить в один график.
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Juris » 24 фев 2014, 18:01

Т.е. ЦЕ (ЦЕИ) - очень универсальная величина. Например, инсулин снижает СК на столько-то, таблетка - на столько-то, физкультура - на столько-то.

А где же тут универсальность ЦЕИ ? :shock: Тут уже речь пошла о ЦТ ( цена таблетки ), ЦФ ( цена физкультуры ), ЦБ ( цена болезни) и т.д. :) Причем, ЦТ и ЦФ тоже могут иметь кучу разновидностей. ЦТМ - цена таблетки метформина. ЦТД - цена таблетки диабетона. ЦРД - цена рубки доров, ЦБТ - цена бега трусцой, ЦЕ38,5ГЦ ( цена температуры 38,5 градусов Цельсия) и т.д. и т.п. А хватит ли "железности компьютера", мозговитости программиста и срока его жизни ( СЖ ) для создания такой программы ? :D И чего ради ? Ради прорисовки какого-то графика, который, в принципе, ничего не даст и останется "вещью в себе" ? Причем, вещью далекой от реалий жизни ... :не знаю
https://juri.dia-club.ru/ - не берите особо в голову. Это всего лишь измышления дилетанта и не более того.
Juris

 
Сообщения: 14113
Зарегистрирован: 31 мар 2004, 17:49
Откуда: Рига, Латвия
Возраст: 73

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 18:18

Да, ЦЕ придется для каждого фактора задавать отдельно.

Так же как и К1 для каждого фактора задавать отдельно.

Тут паритет.
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 18:21

Juris писал(а):ЦРД - цена рубки доров, ЦБТ - цена бега трусцой, ЦЕ38,5ГЦ ( цена температуры 38,5 градусов Цельсия) и т.д. и т.п.


Это, скорее всего, никто учитывать не будет.

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

График - он вообще-то для стабильных дней, когда нет чего-то из ряда вон выходящего. Причем его точность - практически только для качественного, а не количественного, анализа
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Juris » 24 фев 2014, 18:35

Кто не хочет - это не учитывает, так же как и в Диабет-2000. Тут тоже паритет.

Так ведь я не веду речь о замене одной единицы на другую. Не нравится К1 ? Ну так ради Бога ! Измените название и вперед :) Или выведите другую единицу, пропорциональную К1 и связанную с ним и тоже вперед. Это как выпитое пиво измерять. Кому нравится в литрах, а кому - в пинтах :чокнемся Не в этом дело :не шали Я говорю о невозможности программного учета того огромного количества факторов, котороые влияют на СК. Вы замучаетесь выводить те программные алгоритмы, которые собираетесь реализовывать. Оперативная коррекция компенсационных коэффициентов в зависимости от внешних факторовв в методике Диабет2000 производится на основании опыта, переходящего в интуицию, по принципу : "от живого созерцания к абстрактному мышлению, а затем - к практике", а не на основании попыток втиснуть все это многообразие в программый код :)
https://juri.dia-club.ru/ - не берите особо в голову. Это всего лишь измышления дилетанта и не более того.
Juris

 
Сообщения: 14113
Зарегистрирован: 31 мар 2004, 17:49
Откуда: Рига, Латвия
Возраст: 73

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 18:38

Juris писал(а):Я говорю о невозможности программного учета того огромного количества факторов, котороые влияют на СК.


:) да, я уже скорректировал предыдущее сообщение.

Все учесть невозможно.

В нестандартных ситуациях график рушится. Но часто ли у нас возникают такие обстоятельства?
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Vitamin » 24 фев 2014, 18:47

Juris писал(а):Не нравится К1 ? Ну так ради Бога ! Измените название и вперед


В К1, получается, зашита как способность инсулина понижать СК, так и способность пищи повышать СК. Я просто разделил это на 2 части.

Если использовать классический метод - для инсулина нужен К1(t) и ЦЕ(t)

Если использовать этот метод - для инсулина нужен ЦЕ(t), для пищи нужен ЦЕ(t)
Vitamin

 
Сообщения: 200
Зарегистрирован: 08 май 2011, 20:13

Re: Библиотека классов для программ с общей БД

Сообщение Juris » 24 фев 2014, 19:42

График - он вообще-то для стабильных дней, когда нет чего-то из ряда вон выходящего. Причем его точность - практически только для качественного, а не количественного, анализа

Когда все стабильно и нет ничего из ряда вон выходящего, то никакие графики не нужны. Равно как и дневники :) Я уже много раз говорил : " Когда все нормально и стабильно, то все эти "рисовалки" и прочие "астролябии" просто не нужны. А когда все лабильно, они просто ровным счетом ничего не дают, поскольку в этих условиях все непонятно и все изменчиво, включая и сами графики" :D
В К1, получается, зашита как способность инсулина понижать СК, так и способность пищи повышать СК. Я просто разделил это на 2 части.

В К1 защита индивидуальная способность инсулина скомпенсировать ( депонировать) какое-то заранее оговоренное количество углеводов и ничего более. И этого "ничего более" вполне достаточно для расчета потребной дозы инсулина для компенсации любого другого количества углеводов. Да, это "диванный" вариант расчета КД. Реальная КД ( реальный К1 ) определяется путем оперативной коррекции диванного К1 на основе опыта, а не на основе каких-то абстрактных графиков :пардон:
https://juri.dia-club.ru/ - не берите особо в голову. Это всего лишь измышления дилетанта и не более того.
Juris

 
Сообщения: 14113
Зарегистрирован: 31 мар 2004, 17:49
Откуда: Рига, Латвия
Возраст: 73

Вернуться в Программы для мобильных устройств

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16