Stránky

Grafické rozhranie pre simulátor subjektu s diabetom via Tidepool-labs

Po dlllhom čase som sa odhodlal na vlastný pokus implementovať simulátor T1DM subjektu v JavaScript-e. Podarilo sa.

Najväčší problém bol v podstate ODE solver. Knižnica Numeric Javascript (numericjs.com) obsahuje ODE solver. Trošku som ho testoval, myslím, že môže byť. Vďaka tomu som sa nemusel zaoberať implementáciou vlastného ODE solvera.

Vytvoriť vlastný simulátor potom už nebol problém, ako potvrdil aj kolega M. R., ktorý ešte predo mnou napísal vlastný simulátor. V tomto poste sa nechcem venovať detailom.

Najpodstatnejšie v tomto momente je, že sa mi kupodivu podarilo využiť grafické rozhranie (GUI) pre simulátor pôvodne navrhnuté tímom Tidepool. Ich simulátor je možné vidieť tu
http://labs-server.tidepool.io:8083/

Mimochodom, po technickej stránke je riešený zásadne inak oproti nášmu simulátoru.

Výsledok snahy o vlastný simulátor je možné nájsť tu:
https://github.com/manotsk/jsT1Dsimulator

Pre potreby tohto postu som narýchlo (a po technickej stránke nepekne) upravil grafické rozhranie tak, aby som ho mohol použiť aj tu. Výsledok:



Ovládanie je „intuitívne“ (a na teraz sa mi ho nechce opisovať).

MT

25. 11. 2015

O niektorých parametroch v bolus kalkulátoroch

V predchádzajúcom príspevku sme uviedli zopár poznámok k bolus kalkulátorom: Poznámky k Bolus Wizard-u. Tu sa pokúsime vysvetliť niektoré parametre používané pri výpočtoch dávok inzulínu (bolusov). Zameriavame sa skôr na výpočty pri používaní inzulínovej pumpy nie na výpočty vo všeobecnosti.

Celková denná dávka inzulínu

Celková denná dávka inzulínu, označme ju $TDD$ [U] (z angl. total daily dose), je základným parametrom vo výpočtoch jednotlivých dávok inzulínu (v podstate bolusových aj bazálnych).

V článku [1] sa používa pojem „insulin sensitivity“ pričom sa udáva ako $0,53$ [U/kg] alebo $0,54$ [U/kg] (boli totiž dve veľké štúdie v spojených štátoch, preto dve čísla). Vzhľadom na jednotky [U/kg] a vzhľadom na kontext článku [1] ide o spotrebu inzulínu na danú telesnú hmotnosť. Spotrebu na deň. Podľa všetkého.

Berme $0,535$ [U/kg]. To znamená, že napr. 75 [kg] človek s diabetom by mal mať celodennú dávku inzulínu $0,535 \cdot 75 = 40,125$ [U]. To je realisticky priemerný človek s diabetom. Asi. Je to teda použiteľné východisko pri určovaní $TDD$.

Korekčný faktor

Korekčný faktor $CF$ [mmol/l/U] je parameter, ktorý je mierou poklesu glykémie (ktorá je zvýšená) po podaní jednej jednotky inzulínu. V publikácii [2] sa $CF$ označuje ako FIC (faktor inzulínovej citlivosti), ktorý nám hovorí o koľko mmol/l nám zníži glykémiu jedna inzulínová jednotka.

V 80. rokoch (20. storočia) bol navrhnutý vzorec (Dr. Paul Davidson, [1]) pre výpočet korekčného faktora, vzorec nazývaný aj „pravidlo 1500“ (1500 rule).
$$ CF = \frac{1500}{TDD} $$ Bolo to však v Spojených štátoch a teda toto pravidlo platí pre glykémiu meranú v jednotkách [mg/dl]. Pri jednotkách [mmol/l] je to $1500/18 = 83,34$, teda „pravidlo 83,34“:
$$ CF = \frac{83,34}{TDD} $$
Mimochodom, to číslo  $83,34$ má jednotky [mmol/l] ako už z uvedeného vyplýva pretože
$$ 83,34 = CF \cdot TDD $$ pričom $TDD$ je v [U] a $CF$ je (musí byť) v [mmol/l/U], ako sme tiež uviedli v predchádzajúcom príspevku (Poznámky k Bolus Wizard-u).

Časom boli uvedené rôzne modifikácie tohto pravidla (z rôznych dôvodov..., iný typ inzulínu, pumpa... a podobne). Zaviedli sa pravidlá 1800, 1717, 2000 prípadne 1960 [1], respektíve pri jednotkách [mmol/l] to znamená
$$\begin{align*} CF &= \frac{100}{TDD} \qquad \text{(pravidlo 100)} \\ CF &= \frac{95,389}{TDD} \\ CF &= \frac{111,1}{TDD}  \\ CF &= \frac{108,89}{TDD} \qquad \text{(pravidlo 110 ...cca)} \end{align*} $$ čo súhlasí s [2] kde $ CF = \frac{100}{TDD} $.

Sacharidový pomer

Sacharidový pomer $CR$ [g/U] je parameter, ktorý je mierou množstva glukózy, ktorá sa transportuje z krvi do buniek (citlivých na inzulín) účinkom jednej podanej jednotky inzulínu.

Aby sme použili aj iné slová, tak v publikácii [2] sa $CR$ nazýva inzulínovo-sacharidový pomer (ISP) a hovorí nám koľko sacharidov nám vykryje jedna jednotka inzulínu.

V 1994 Walsh a Roberts navrhli vzorec (pravidlo) pre výpočet sacharidového pomeru [1]:
$$CR = \frac{450}{TDD}$$ Všimnime si, že číslo $450$ má jedhotky [g] (to len tak pre zaujímavosť).

Taktiež vznikli rôzne modifikácie tohto vzorca (pravidla), konkrétne číslo 500 či 300 pre deti.

Pre úplnosť musíme tiež uviesť, že v [1] sa uvádzajú aj nasledovné vzorce pre určenie „sacharidového faktora“ čo je podľa všetkého to isté čo tu nazývame sacharidový pomer. Tie vzorce sú:
$$ \begin{align*}  CR &= \frac{2,8 \cdot BW\text{[lb]}}{TDD} \approx \frac{6,18 \cdot BW\text{[kg]}}{TDD}  \\ CR &= \frac{2,6 \cdot BW\text{[lb]}}{TDD} \approx \frac{5,74 \cdot BW\text{[kg]}}{TDD}  \end{align*} $$ kde $BW\text{[lb]}$ je telesná hmotnosť v librách a $BW\text{[kg]}$ je hmotnosť v kilogramoch. Pripomeňme, že $CR$ je v [g/U]. Potom napríklad číslo $6,18$ má rozmer [g/kg] (to len tak mimochodom). Pre 75 [kg] človeka sa prvý vzorec stáva
$$CR = \frac{463,5}{TDD}$$ čo je blízke vyššie uvedeným číslam...

Na záver ešte dodáme, že v publikácii [2] sa uvažuje
$$CR = \frac{500}{TDD}$$

IOB?

Nevenovali sme sa tzv. aktívnemu inzulínu, presnejšie $IOB$ (z ang. insulin on board), viď Poznámky k Bolus Wizard-u. Je to nad rámec tohto príspevku. Avšak krivku, podľa ktorej sa zvyčajne $IOB$ vypočítava sme komentovali skôr: Krivka aktívneho inzulínu. Snáď sa niekedy dostaneme aj k vysvetleniu, ako tá krivka vlastne vznikla.

Referencie

[1] Walsh, J.; Roberts, R. & Bailey, T. Guidelines for Insulin Dosing in Continuous Subcutaneous Insulin Infusion Using New Formulas from a Retrospective Study of Individuals with Optimal Glucose Levels Journal of Diabetes Science and Technology, 2010, 4, 1174-1181
[2] Pilková, Ľ. Vieš čo dokáže Tvoja inzulínová pumpa? o.z. diabetikinfo.sk, dostupné na: http://www.diabetikinfo.sk/vies-co-dokaze-tvoja-ip.html

6. 6. 2015

Pumpa, ktorá dodáva cukor nepretržite

Cukrovkári majú novú nádej na plnohodnotnejší život. Od júla budú môcť používať vynovenú inzulínovú pumpu. Dokáže nepretržite kontrolovať hladinu glukózy v krvi a najmä ju predvídať. Rozozná riziká o pol hodinu skôr ako nastanú.

zdroj: Archív RTVS, relácia Správy RTVS, reportáž s názvom „Pumpa, ktorá dodáva cukor nepretržite

MT

p.s. Aspoň trošku lepšie:

http://videoarchiv.markiza.sk/video/televizne-noviny/televizne-noviny/30729_televizne-noviny
(reportáž „Novinka pre cukrovkárov“)

3. 6. 2015

Senzor pod makro objektívom


Minule sme uviedli makro fotografie senzora Enlite (Medtronic). Tu pridávame fotky senzora Dexcom, avšak už po použití. Rozdiely v konštrukcii samotnej elektródy sú však zrejmé.

MT




30. 5. 2015

Poznámky k Bolus Wizard-u

Bolus Wizard je názov nástroja pre výpočet bolusu, ktorý je priamo zabudovaný v pumpách spoločnosti Medtronic (nechce sa mi hľadať od ktorého modelu je tento nástroj súčasťou pumpy). Tento konkrétny bolus kalkulátor (dovolím si tak nazývať nástroj pre výpočet bolusu) tu využijeme na ukážku výpočtu bolusu (bolusovej dávky inzulínu).

Sú dva hlavné dôvody pre bolus. Prvým je príjem sacharidov v jedle. Pre spotrebovanie glukózy, ktorá sa objaví v krvi následkom jedla s obsahom sacharidov, je potrebný bolus. Budem ho nazývať bolus na sacharidy, označovať $sb$, akože „sacharidový bolus“.

Druhým dôvodom je potreba korekcie zvýšenej glykémie. V prípade, že glykémia je vyššia (z rôznych dôvodov), ako je cieľom, niekedy je potrebné dodať inzulín tak, aby glykémia klesla do želaného pásma. Bolus s týmto cieľom sa nazýva korekčný bolus, označme $kb$ [U]. Často nastávajú oba dôvody pre bolus súčasne. Vtedy celkový bolus $cb$ [U] je súčtom $cb = sb + kb$.

Bolus kalkulátor v pumpách od spoločnosti Medtronic rozlišuje v podstate tri prípady v závislosti od hodnoty glykémie $BG$ [mmol/l].

1. prípad

V tomto prípade sa glykémia $BG$ nachádza v cieľovom pásme, teda $LBG \leq BG \leq HBG$, kde $LBG$ [mmol/l] je dolná hranica a $HBG$ [mmol/l] je horná hranica cieľového pásma. Potom celkový bolus pozostáva len zo sacharidového bolusu $sb$ pretože nie je potrebná korekcia.
$$ cb=sb$$
pričom
$$ \begin{equation} \label{sbeqn} sb = \frac{CHO}{CR}  \end{equation}$$
kde $CHO$ [g] je množstvo prijatých sacharidov a $CR$ [g/U] je parameter, ktorý budem nazývať sacharidový pomer. Zvykne sa nazývať aj inzulínovo-sacharidový pomer (ISP), viď napr. publikáciu Vieš čo dokáže Tvoja inzulínová pumpa?, alebo sacharidový faktor (z angl. carbohydrate factor). Aká je jeho hodnota, ako ju získať a ako je možné interpretovať tento parameter je nad rámec týchto poznámok.

Výpočet celkového bolusu $cb$ [U] v tomto prípade, teda $cb=sb$, kde $sb$ je podľa rovnice $\eqref{sbeqn}$, je rovnaký aj v prípade ak do Bolus Wizard-u nie je zadaná glykémia  BG a teda nemožno vyhodnotiť či $BG$ je v cieľovom pásme alebo nie je.

2. prípad

V tomto prípade je glykémia vyššia ako horná hranica cieľového pásma, teda $BG>HBG$. Celkový bolus $cb$ vo všeobecnosti pozostáva z bolusu na sacharidy $sb$ a z korekčného bolusu $kb$
$$cb = sb + kb$$
pričom
$$sb = \frac{CHO}{CR}$$
kde označenie je rovnaké ako v predchádzajúcom prípade a
$$\begin{equation} \label{kbeqn} kb = \frac{BG - HBG}{CF} - IOB \end{equation}$$
kde $BG$ [mmol/l] je aktuálna glykémia a $HBG$ [mmol/l] je horná hranica cieľového pásma glykémie. Ďalej, $CF$ [mmol/l/U] je ďalší parameter, ktorý budem nazývať korekčný faktor (angl. correction factor). Zvykne sa nazývať aj faktor inzulínovej citlivosti (FIC), opäť, viď Vieš čo dokáže Tvoja inzulínová pumpa?, alebo len inzulínová citlivosť, viď manuál inzulínovej pumpy. Vysvetlenie (interpretácia) a hodnota (jej získanie) sú nad rámec týchto poznámok. Nakoniec, $IOB$ [U] (z ang. insulin on board) je fiktívne množstvo inzulínu, ktoré zostalo v tele od podania posledného bolusu a účinok tohto množstva sa ešte neprejavil. S postupom času od bolusu toto fiktívne množstvo klesá. V Bolus Wizard-e sa toto množstvo nazýva aktívny inzulín a vypočítava sa pomocou krivky aktívneho inzulínu, o ktorej sme už nesúrodo hovorili.

Ak je hodnota $kb$ podľa rovnice $\eqref{kbeqn}$ záporná, tak korekčný bolus $kb$ sa považuje za nulový pretože $IOB$ (aktívny inzulín) nemá uberať z bolusu na sacharidy. V tomto prípade záporný $kb$ indikuje, že $IOB$ je dostatočný pre korekciu, ktorá je zrejme potrebná, keďže $BG>HBG$.

3. prípad

V tomto prípade je glykémia nižšia ako dolná hranica cieľového pásma, teda $BG<LBG$. Celkový bolus je súčtom
$$cb = sb + kb$$
pričom
$$sb = \frac{CHO}{CR}$$
rovnako ako v predchádzajúcich prípadoch. Aj v tomto prípade sa uvažuje korekcia, avšak, korekčný bolus má zápornú hodnotu, čo je pochopiteľné (pretože $BG<LBG$)
$$kb = \frac{BG-LBG}{CF}$$

Mimochodom, ak by bol v tomto prípade výsledný $cb$ záporný, tak to vlastne znamená, že je potrebné prijať viac sacharidov pre zvýšenie glykémie.

Cieľom týchto poznámok bolo len po svojom zhrnúť, čo je vlastne napísané (nie najšťastnejšie) o Bolus Wizard-e v manuáli pumpy. Pritom je to pekným príkladom bolus kalkulátora ako takého.

Parametrami bolus kalkulátora, teda korekčným faktorom $CF$, sacharidovým pomerom $CR$ a množstvom nespotrebovaného inzulínu $IOB$ (aktívnym inzulínom) som za zámerne nezaoberal. Je to samostatná téma.

MT

18. 5. 2015

V ústrety Nightscout-u


Projekt ClouDiaDAQ (Diabetic Data Acquisition via Cloud) sa začal. Cieľom je v podstate preskúmať možnosti a prínosy zdieľania CGM dát v reálnom čase - teda Nightscout.

Zaobstarali sme Dexcom G4. Na obr. vyššie je môj prvý údaj nameraný pomocou Dexcom-u. Len tá najväčšia bodka na displeji, ostatné je prach.

Vyskúšal som všetko čo sa zatiaľ dalo. Prácu s databázou na https://mongolab.com/. Stránku, teda CGM Remote Monitor, som zriadil na https://www.heroku.com/ namiesto http://azure.microsoft.com/, ktorú odporúča originál Nightscout manuál (dôvodom je, že takto som nemusel použiť kreditnú kartu, aj keď by mi vlastne nič neúčtovali)

Trošku nepredvítateľne ale predsa funguje aj Nightscout Chrome Uploader. Vďaka tomu môžme uploadovať do cloudu, a teda zobrazovať dáta na stránke.

Nasleduje zaobstaranie mobilného zariadenia s Android-om a s USB OTG.

MT

8. 3. 2015

ATTD 2015


V dňoch 18.02.2015 až 21.02.2015 sme sa zúčastnili konferencie ATTD 2015. Náš príspevok má názov „Estimation of the carbohydrate to insulin ratio using empirical models“ a je ho možné nájsť v špeciálnom čísle časopisu Diabetes Technology & Therapeutics. Prezentovaný bol formou e-Posteru (čo sa mne osobne veľmi páčilo, pretože nebola oštara s papierovým posterom). Poster možno nájsť tu (hint: XXXX2015 a xxxx2015).

Viac o konferencii:


Ešte stále (8.3.2013) nie sú na oficiálnom webe žiadne fotky z konferencie. Nech sa páči, ale len zopár vlastných fotiek.

Chiara Dalla Man počas prednášky „Lag-time between blood and interstitial fluid - physiological, technical and clinical aspects“, Industry Workshop Supported by Roche.

Profesor Tadej Battelino, Conference Chairperson počas otváracieho ceremoniálu.

Boris Kovatchev s prednáškou „Closed-Loop Control Modalities in Type 1 Diabetes: Efficacy and System Acceptance“ počas Parallel Session AP Data Club.

Lalo Magni s prednáškou „Adaptive Model Predictive Control for Artificial Pancreas: from in Silico to Outpatient“ počas Parallel Session AP Data Club.


Podľa zoznamu účastníkov, ktorý bol dostupný na konferencii, sa konferencie zúčastnilo pomerne veľa mne známych mien zo Slovenska, najmä zo spoločnosti Medtronic, alebo tiež jedna pani lekárka. Žiadnej „Industry Supported Session“ podporovanej spoločnosťou Medtronic som sa nezúčastnil. Ehm, bol som inde. V Paríži. Dal som si preto aspoň záležať na odfotení novej pumpy od Medtronic-u:



Prišiel pán vystavovateľ, a povedal, či by nebolo lepšie fotiť to so zapnutým displejom. Radšej keby tú pumpu poutieral.


Stánok spoločnosti Medtronic.
Viac info o pumpe napr. tu: Inzulínová Pumpa MiniMed® 640G s funkcí SmartGuard®

Fotenie iných produktov som vzdal. Vystavovatelia boli príliš zhovorčivý a ja neviem aj spíkovať aj sústrediť sa na fotku. Pán v stánku Abbott pri FreeStyle Libre aj „originálne“ zažartoval (aspoň myslím :), že nie je dovolené fotografovať - ale aspoň mi poukazoval to ich CGM.

V neposlednom rade, na ATTD 2015 som prvý krát držal v ruke Dexcom, ktorý v čase písania tohto článku konečne aj mám a práve používam.

MT