AutoISF: ako funguje algoritmus, ktorý mení citlivosť podľa správania glykémie

Klasický AndroidAPS pracuje s citlivosťou na inzulín – ISF (Insulin Sensitivity Factor) – nastavenou v profile. Voliteľný DynamicISF ide o krok ďalej a citlivosť priebežne prepočítava predovšetkým podľa aktuálnej glykémie a TDD.

AutoISF používa inú filozofiu.

Nezaujíma ho iba to, aká vysoká je glykémia, ale predovšetkým čo práve robí:

  • začína zrýchľovať?
  • prudko rastie?
  • rast sa spomaľuje pred vrcholom?
  • alebo je glykémia už dlhší čas „zaseknutá“ vysoko?

Podľa toho dokáže každých niekoľko minút dočasne meniť inzulínovú citlivosť, a tým zosilniť alebo naopak utlmiť reakciu algoritmu.

AutoISF tak pridáva do oref1 ďalšiu vrstvu adaptácie. Pri správnom nastavení môže pomôcť hybridnej uzavretej slučke a zároveň patrí medzi najprepracovanejšie experimentálne prístupy k Full Closed Loop (FCL) – slučke, pri ktorej používateľ nezadáva sacharidy ani manuálne bolusy.

Nie je to však spôsob, ako opraviť zle nastavený AAPS.

Práve naopak.

AutoISF predpokladá, že používateľ už má dobre nastavený bazál, sacharidový pomer aj profilové ISF a rozumie tomu, ako oref1, SMB, UAM a IOB fungujú. Samotná dokumentácia ho smeruje k pokročilým používateľom s už veľmi dobre fungujúcou slučkou. Aktuálna vetva autoISF 3.2.1 je postavená nad AndroidAPS 3.4.2.6.

Čo je autoISF?

AutoISF je rozšírenie algoritmu oref1, používaného v režime OpenAPS SMB.

Základná myšlienka autorov je jednoduchá:

Namiesto toho, aby sa používalo stále rovnaké ISF, nech algoritmus citlivosť dočasne upraví podľa toho, ako sa práve správa glykémia.

AutoISF sleduje štyri hlavné javy:

  1. acce_ISF – zrýchľovanie alebo brzdenie glykémie,
  2. bg_ISF – vzdialenosť glykémie od cieľa,
  3. pp_ISF – postprandiálny rast a delta,
  4. dura_ISF – dlhodobé plató nad cieľom.

Každý z nich vypočíta vlastný faktor citlivosti. Algoritmus následne rozhodne, ktorý z nich sa má použiť.

AutoISF je štandardne vypnutý a jeho autori opakovane zdôrazňujú potrebu už predtým dobre nastaveného profilu.

Základ: profilové ISF zostáva základom

AutoISF nevytvára ISF úplne od nuly.

Vychádza z hodnoty nastavenej v profile a tú následne modifikuje.

Zjednodušene:

  • použité ISF = profilové ISF / autoISF faktor

Ak je napríklad profilové ISF 6 mmol/l/U a výsledný autoISF faktor je 1,5, algoritmus bude pracovať približne s: 6 / 1,5 = 4 mmol/l/U

Citlivosť je teda „ostrejšia“ a algoritmus vypočíta viac inzulínu.

Ak bude faktor 0,75, tak potom je inzulínová citlivosť menej agresívna 6 / 0,75 = 8 mmol/l/U a slučka sa naopak stane opatrnejšou.

Preto platí jednoduché pravidlo:

  • autoISF faktor je väčší ako 1: agresívnejšia slučka
  • autoISF faktor je menší ako 1: jemnejšia slučka

Rozsah, v ktorom sa môže citlivosť pohybovať, obmedzujú parametre:

  • autoISF_min
  • autoISF_max

A práve tu je jeden z najväčších rozdielov oproti DynamicISF.

AutoISF je pevne ukotvené v profilovom ISF. Ak je profilové ISF nesprávne, autoISF túto chybu nedokáže zázračne odstrániť. V niektorých situáciách ju môže dokonca zosilniť.

Preto je kvalitne nastavené cirkadiánne ISF jedným zo základných predpokladov používania autoISF.

Štyri mechanizmy autoISF

Každý mechanizmus sleduje inú časť glykemickej krivky.

Najlepšie sa to dá predstaviť na jedle.

Najskôr sa krivka začne ohýbať smerom nahor. Potom začne prudko stúpať. Neskôr rast spomaľuje a vznikne vrchol. A pri niektorých jedlách môže následne glykémia niekoľko hodín zostať zvýšená.

AutoISF má pre každú z týchto situácií iný nástroj.

1. acce_ISF – zrýchlenie glykémie

Toto je pravdepodobne najzaujímavejšia časť autoISF.

Bežná delta hovorí, ako rýchlo glykémia rastie.

Zrýchlenie hovorí, ako rýchlo sa mení samotná rýchlosť rastu.

Matematicky:

  • delta je približne prvá derivácia krivky,
  • zrýchlenie druhá derivácia.

A druhá derivácia sa môže zmeniť skôr, než začne byť samotná delta výrazná.

Prečo je to dôležité?

Predstavme si začiatok jedla.

Glykémia rastie nepravidelne: 5,3 → 5,4 → 5,7 → 6,3 mmol/l.

Na začiatku ešte nemusí byť absolútna delta dramatická. Krivka sa však začína stále prudšie ohýbať smerom nahor. AutoISF sa snaží zachytiť práve tento moment.

Preloží poslednými hodnotami CGM parabolu pomocou metódy najmenších štvorcov a z jej tvaru odhaduje zrýchlenie.

Veľmi zjednodušene:

  • acce_ISF = 1 + váha × kvalita fitu × ďalšie korekcie × zrýchlenie

Výsledok závisí aj od kvality toho, ako dobre parabola zodpovedá reálnym CGM dátam. Ak sú údaje rozhádzané a matematický fit je nekvalitný, príspevok acce_ISF sa znižuje. To je dôležitá bezpečnostná vlastnosť. AutoISF totiž pri tomto mechanizme potrebuje kvalitné dáta z CGM.

AutoISF vie nielen zrýchľovať, ale aj brzdiť

Rovnako zaujímavá je opačná situácia.

Glykémia môže stále rásť ale rast už začne spomalovať: 8,0 → 8,5 → 8,8 → 9,0 mmol/l.

Delta je stále kladná. Samotný pohľad na deltu by teda mohol hovoriť, že stále rastieme. Zrýchlenie však už môže byť záporné, pretože rast brzdí.

Vtedy môže acce_ISF klesnúť pod 1 a slučka začne byť opatrnejšia ešte pred samotným vrcholom. Pri agresívnom FCL totiž nie je problém iba dostať inzulín do tela dostatočne skoro. Rovnako dôležité je vedieť včas prestať.

Inzulín podaný teraz bude účinkovať ešte niekoľko hodín.

Ak algoritmus pokračuje v agresívnom dávkovaní až do momentu, keď glykémia skutočne začne klesať, môže byť už neskoro.

Pre zrýchľovanie a brzdenie preto existujú dve samostatné váhy:

  • bgAccel_ISF_weight
  • bgBrake_ISF_weight

2. bg_ISF – ako ďaleko sme od cieľa?

Druhý mechanizmus je intuitívnejší. Čím vyššie je glykémia nad cieľom, tým agresívnejšia môže byť slučka. Čím nižšie sme pod cieľom, tým opatrnejšia môže byť.

Používatelia AAPS si niekedy podobné správanie vytvárajú automatizáciami:

nad 10 mmol/l → profil 110 %

nad 12 mmol/l → profil 130 %

Takéto riešenie má však nevýhodu. Na hranici vznikne skok. Pri 11,9 mmol/l sa nestane nič a pri 12,0 mmol/l sa zrazu zmení celý profil. AutoISF preto používa plynulejší priebeh.

Výsledkom je faktor bg_ISF, ktorého silu nastavujú:

  • higher_ISFrange_weight nad cieľom,
  • lower_ISFrange_weight pod cieľom.

Zjednodušene:

  • čím vyššie nad cieľom → tým väčšie zosilnenie ISF

a opačne:

  • čím nižšie pod cieľom → tým väčšie utlmenie slučky

Zaujímavé je správanie pri glykémii pod cieľom, ktorá zároveň prudko zrýchľuje.

Napríklad: 4,8 → 4,9 → 5,3 → 6,0 mmol/l.

Samotné bg_ISF by chcelo slučku tlmiť, pretože glykémia je nízko.

acce_ISF však už vidí začínajúci prudký rast.

AutoISF preto tieto informácie dokáže kombinovať namiesto toho, aby slepo použilo iba jednu z nich.

3. pp_ISF – keď už jedlo vidíme v delte

pp_ISF reaguje na postprandiálny rast. Je dôležitý najmä v momente, keď už glykémia stúpa pomerne lineárne a zrýchlenie, na ktorom stojí acce_ISF, začína slabnúť.

Veľmi zjednodušene:

  • pp_ISF = 1 + delta × pp_ISF_weight

Podmienkou je rastúca glykémia a dostatočná vzdialenosť nad cieľom.

Tento mechanizmus je užitočný najmä pri:

  • FCL,
  • UAM,
  • pomalšie sa rozbiehajúcich jedlách,
  • gastroparéze,
  • situáciách, keď systém nemá informáciu o sacharidoch.

Dá sa naň pozerať ako na druhú fázu reakcie na jedlo. acce_ISF sa snaží zachytiť samotný začiatok zrýchľovania. pp_ISF následne pomáha počas fázy stabilného rastu.

Interné výpočty autoISF pracujú v mg/dl, aj keď používateľ používa mmol/l. Preto sú hodnoty pp_ISF_weight na prvý pohľad veľmi malé. Delta 1 mmol/l totiž vo výpočte predstavuje približne 18 mg/dl.

4. dura_ISF – keď glykémia jednoducho nechce klesnúť

Predstavme si typickú situáciu: pizza, burger, smotanová omáčka alebo jedlo s veľkým množstvom tuku a bielkovín. Prvá vlna sacharidov už dávno prešla.

Napriek tomu glykémia zostáva vysoko, napr.: 9,8 → 10,0 → 9,9 → 10,1 → 10,0 mmol/l.

Delta nie je výrazná a zrýchlenie prakticky neexistuje. Napriek tomu je zrejmé, že bežná citlivosť v tejto chvíli nestačí.

Práve na to slúži dura_ISF.

Sleduje, či sa glykémia dlhší čas pohybuje v relatívne úzkom pásme nad cieľom.

Zjednodušene rastie:

  • s výškou glykémie nad cieľom,
  • s časom, počas ktorého tam zostáva,
  • s nastavenou dura_ISF_weight.

Princíp je približne:

  • dura_ISF = 1 + relatívna odchýlka od cieľa × trvanie × váha

Čím dlhšie a čím vyššie nad cieľom sa glykémia drží, tým väčšie môže byť zosilnenie citlivosti.

Toto je mechanizmus, ktorý môže byť užitočný aj používateľovi, ktorý o FCL vôbec neuvažuje. Ak klasická hybridná slučka funguje veľmi dobre, ale opakovane má problém napríklad s dlhým plató po tučnej večeri, práve dura_ISF môže byť prvým efektom, ktorý má zmysel skúmať.

Ako autoISF vyberie výsledný faktor?

Jednotlivé faktory sa bežne jednoducho nevynásobia všetky medzi sebou. To by mohlo viesť k extrémnym hodnotám. Algoritmus ich vyhodnotí a spravidla pracuje s najsilnejším relevantným efektom, pričom existujú výnimky pre situácie, keď napríklad:

  • sme pod cieľom, ale glykémia prudko zrýchľuje,
  • alebo glykémia stále rastie, ale už výrazne brzdí.

Brzdenie môže potlačiť agresivitu ostatných mechanizmov.

Nakoniec sa výsledok vždy obmedzí pomocou:

  • autoISF_min
  • autoISF_max

Používateľ tak určuje absolútne mantinely, mimo ktoré algoritmus nesmie ísť.

V záložke AUTOISF → Script debug sa dá následne pozrieť, aké faktory algoritmus vypočítal a prečo konkrétny faktor použil alebo nepoužil.

V záložke AUTOISF vidíme hodnoty všetkých parametrov autoISF a ich výsledný koeficient.

Od autoISF 3.2 možno zobrazovať aj jednotlivé faktory a efektívny iobTH v pomocných grafoch a preloženú parabolu priamo nad glykemickou krivkou.

Hybridná slučka alebo Full Closed Loop?

AutoISF sa dá použiť dvoma veľmi rozdielnymi spôsobmi. Je dôležité tieto dva svety nezamieňať.

1. AutoISF ako doplnok hybridnej slučky

Sacharidy a bolusy štandardne zadávame. SMB a UAM fungujú normálne.

AutoISF iba pomáha v situáciách, s ktorými má klasická slučka problém.

Napríklad:

  • dlhé plató po tučnom jedle,
  • oneskorené vstrebávanie,
  • nečakane vysoká inzulínová rezistencia,
  • pomalý postprandiálny vzostup.

V takom prípade sa používajú podstatne miernejšie nastavenia.

A hlavne netreba zapínať všetko naraz.

Ak problémom býva napríklad pizza o 19:00 a následná glykémia 9–10 mmol/l ďalšie tri hodiny, dáva väčší zmysel začať štúdiom dura_ISF než aktivovať všetky štyri mechanizmy.

2. Full Closed Loop – žiadne sacharidy, žiadne bolusy

FCL je úplne iná disciplína.

Používateľ nezadá:

  • množstvo sacharidov,
  • začiatok jedla,
  • ani manuálny bolus.

Algoritmus musí jedlo rozpoznať len z CGM krivky a následne musí urobiť niečo veľmi náročné – dostať do tela dostatok inzulínu dostatočne skoro, ale nie príliš veľa. Prvá časť reakcie stojí najmä na acce_ISF. Algoritmus zachytí ohýbanie krivky nahor a začne zosilňovať inzulínovú odpoveď ešte predtým, než sa rozvinie veľká delta. Potom nasleduje pp_ISF a neskôr môže zasiahnuť dura_ISF. Ak sa rast začne spomaľovať, bgBrake_ISF sa snaží agresivitu znížiť.

Tak vzniká určitá obdoba:

  • zrýchlenie → bolusová fáza
  • rast → pokračujúce dávkovanie
  • brzdenie → ústup dávkovania
  • dlhé plató → dodatočná korekcia

FCL dokumentácia pritom neprezentuje autoISF ako hotový komerčný systém, ale ako experimentálny rámec určený na veľmi opatrné individuálne ladenie. Samotný projekt ho označuje ako jednu z najsľubnejších ciest k FCL a zdôrazňuje, že nastavenia nemožno jednoducho preberať od iných používateľov.

Najväčší problém FCL: inzulín prichádza neskoro

CGM dokáže jedlo identifikovať až vtedy, keď už glukóza začala stúpať. Človek, ktorý si dá prebolus 10–15 minút pred jedlom, má teda výraznú výhodu. FCL túto informáciu nemá. Musí ju nahradiť agresívnejšou reakciou po rozpoznaní rastu.

Preto je cieľom dostať počas prvých SMB do systému významnú časť inzulínu, ktorý by pri klasickej terapii predstavoval bolus. Zároveň tu je presne najväčšie riziko.

Ak algoritmus „naháňa“ IOB príliš dlho, môže sa o dve alebo tri hodiny neskôr objaviť hypoglykémia.

Keď už je inzulín podaný, slučka ho nedokáže vziať späť.

Môže iba:

  • vypnúť bazál,
  • zastaviť SMB,
  • zvýšiť cieľ.

Preto nie je úspech FCL len o tom, ako rýchlo dokáže pridať inzulín.

Rovnako dôležité je ako skoro dokáže rozpoznať, že už ďalší inzulín pridávať nemá.

iobTH – veľmi dôležitá poistka

Pri agresívnejšom autoISF nestačí spoliehať sa iba na maxIOB. Preto existuje IOB threshold – iobTH.

Parameter:

  • iob_threshold_percent

určuje hranicu ako percento z maxIOB.

Keď IOB dosiahne túto hranicu, ďalšie SMB sa obmedzia alebo zastavia. Algoritmus môže pokračovať napríklad dočasným bazálom, ale najagresívnejšia časť dávkovania sa vypne. Je to veľmi dôležitý rozdiel.

  • maxIOB predstavuje tvrdý absolútny strop.
  • iobTH funguje skôr ako prevádzková brzda pre SMB.

Pri FCL je preto iobTH jedným z najdôležitejších bezpečnostných parametrov.

SMB delivery ratio

Ďalším dôležitým parametrom je:

  • smb_delivery_ratio

Určuje, aká časť vypočítanej inzulínovej potreby sa podá okamžite ako SMB.

Vyššia hodnota znamená:

  • väčšie jednotlivé SMB,
  • rýchlejšie budovanie IOB,
  • ale aj väčšie riziko overshootu.

Nižšia hodnota znamená:

  • menšie SMB,
  • viac krokov,
  • jemnejšie dávkovanie.

Pri 1-minútových CGM dátach má logiku používať viac malých krokov namiesto jedného veľkého zásahu. Preto dokumentácia autoISF pri takýchto dátach pracuje aj s výrazne nižším smb_delivery_ratio.

autoISF_min a autoISF_max

Tieto dva parametre definujú absolútne hranice zmeny citlivosti.

Napríklad:

  • autoISF_max = 2

znamená, že autoISF faktor nemôže byť vyšší ako 2.

Pri profilovom ISF: 6 mmol/l/U

by teda najagresívnejšie použité ISF bolo: 6 / 2 = 3 mmol/l/U

Naopak autoISF_min určuje, ako veľmi môže algoritmus citlivosť zjemniť. Mantinely však nemajú slúžiť na maskovanie zle nastavených váh. Ak algoritmus neustále naráža na autoISF_max, problémom nemusí byť nízky limit.

Môže to znamenať, že váhy sú jednoducho príliš agresívne.

Párny a nepárny cieľ ako vypínač SMB

AutoISF prináša aj veľmi netradičný mechanizmus. SMB možno ovládať podľa párnosti cieľovej glykémie. Pri zapnutej príslušnej funkcii môže platiť:

  • párny cieľ → SMB povolené
  • nepárny cieľ → SMB zakázané

V mmol/l sa prakticky sleduje prepočet cieľa na internú hodnotu, preto treba pri tejto funkcii presne vedieť, aké hodnoty používajú profily a automatizácie.

Myšlienka je jednoduchá. Dočasný cieľ prestáva byť iba glykemickým cieľom a stane sa zároveň signálom pre algoritmus. Používateľ tak môže automatizáciou napríklad povedať:

počas tejto situácie nechcem SMB, ale dočasný bazál môže fungovať ďalej.

Takéto správanie môže byť užitočné napríklad pri situáciách, kde existuje vyššie riziko falošného CGM poklesu.

Súčasne je to nastavenie, pri ktorom treba skontrolovať všetky existujúce dočasné ciele a automatizácie, pretože zmena jednej hodnoty môže mať úplne iný význam než v klasickom AAPS.

Ako nastavovať štyri váhy

Najdôležitejšie pravidlo je, že nemeníme všetko naraz. Jednotlivé váhy majú veľmi rozdielny význam.

bgAccel_ISF_weight

Určuje silu reakcie na zrýchľovanie glykémie. Je to jeden z najsilnejších a najcitlivejších parametrov FCL. Príliš vysoká hodnota môže veľmi rýchlo nahnať veľké množstvo IOB.

bgBrake_ISF_weight

Určuje silu opačnej reakcie – brzdenia. Pomáha znížiť agresivitu ešte predtým, než glykémia skutočne začne klesať. Je to dôležitá protiváha k bgAccel_ISF_weight.

pp_ISF_weight

Reaguje na postprandiálnu deltu. Pretože sa násobí hodnotou delty vyjadrenou interne v mg/dl, používané čísla sú malé.

dura_ISF_weight

Určuje silu reakcie na dlhodobú glykémiu nad cieľom. Je vhodné sledovať najmä to, čo sa deje o dve až tri hodiny neskôr. Ak sa po „úspešnej“ korekcii pravidelne objavuje neskorá hypoglykémia, slučka pravdepodobne nahromadila príliš veľa IOB.

higher_ISFrange_weight

Zosilňuje reakciu pri glykémii nad cieľom.

lower_ISFrange_weight

Zjemňuje reakciu pod cieľom. Pri agresívnom FCL však môže byť príliš silné zjemnenie paradoxne problémom, pretože nízka, ale prudko rastúca glykémia môže byť začiatkom jedla.

AutoISF faktory v typickej glukózovej krivke.

V akom poradí autoISF ladiť?

Pri hybridnej slučke je rozumné riešiť konkrétny problém. Ak je problémom dlhé plató po večeri, začínať všetkými štyrmi mechanizmami nedáva zmysel. Skúma sa dura_ISF. Pri FCL je logika odlišná. Najskôr treba naučiť slučku zvládnuť samotný nástup jedla. Preto má zmysel približné poradie:

1. bgAccel_ISF_weight

Najskôr zvládnuť prvú reakciu na jedlo.

2. pp_ISF_weight

Potom doladiť fázu stabilného rastu.

3. bgBrake_ISF_weight

Následne vyriešiť správne zabrzdenie pred vrcholom.

4. dura_ISF_weight

Až potom riešiť dlhé plató, mastné jedlá a oneskorenú rezistenciu.

5. bg_ISF

Nakoniec – a iba vtedy, ak je vôbec potrebné – pridávať reakciu podľa absolútnej výšky glykémie.

Dôvod je jednoduchý. Ak sa zapne viac mechanizmov naraz, človek prestane vedieť, ktorý z nich výsledok skutočne zlepšil alebo pokazil.

Nekopírujte cudzie nastavenia

Toto je asi časť celého článku.

Dve osoby môžu mať:

  • rovnaké TDD,
  • rovnakú pumpu,
  • rovnaký inzulín,
  • podobný jedálniček,

a napriek tomu potrebovať úplne odlišné váhy.

AutoISF reaguje na kombináciu:

  • profilového ISF,
  • bazálu,
  • inzulínu,
  • farmakodynamiky konkrétneho človeka,
  • CGM,
  • kvality CGM dát,
  • jedál,
  • načasovania absorpcie,
  • SMB nastavení,
  • maxIOB,
  • iobTH,
  • cieľov.

Preto dokumentácia opakovane zdôrazňuje – nekopírovať cudzie nastavenia. Ani ako údajne „bezpečný štart“. Každé nastavenie sa má hodnotiť na vlastných dátach a meniť postupne.

Kvalita CGM je pri autoISF ešte dôležitejšia

Pri klasickom AAPS môže krátky šum CGM znamenať nesprávnu deltu. Pri autoISF môže zároveň vytvoriť aj falošné zrýchlenie. A práve acce_ISF patrí medzi najagresívnejšie mechanizmy celého systému. Preto autoISF venuje spracovaniu CGM dát veľkú pozornosť. Kvalita matematického fitu sa priamo podieľa na tom, aký silný bude efekt zrýchlenia. Ak dáta nedávajú zmysel, algoritmus dokáže jeho vplyv potlačiť.

Pri veľmi častých 1-minútových dátach je dôležité aj vyhladzovanie – čím častejšie hodnoty prichádzajú, tým ľahšie môže krátkodobý šum vyzerať ako reálne zrýchlenie.

Moderné implementácie autoISF preto kombinujú algoritmus aj s rôznymi možnosťami smoothingu. V aktuálnom AndroidAPS s AutoISF sa napríklad objavuje aj pokročilejšie filtrovanie CGM s filtrom UKF.

Šport a pohybová aktivita

AutoISF nesmie vedieť iba pridávať inzulín. Musí vedieť aj výrazne ustúpiť.

Pri športovej aktivite totiž môže citlivosť na inzulín narásť natoľko, že agresívne autoISF nastavenie by bolo nebezpečné.

AutoISF preto pracuje aj s režimami naviazanými na zvýšený dočasný cieľ a s mechanizmami aktivity. Pri klasickom exercise mode môže vyšší dočasný cieľ zvyšovať inzulínovú citlivosť a zároveň znižovať bazálnu potrebu.

Myšlienka je rovnaká ako pri staršom OpenAPS mechanizme half_basal_exercise_target, čím vyšší športový cieľ, tým menej inzulínu systém používa.

Niektoré vetvy autoISF pridávajú aj monitor fyzickej aktivity podľa krokov a ďalšie mechanizmy, pričom konkrétna implementácia sa môže medzi AAPS a iOS vetvami líšiť.

AutoISF na iPhone

Na iOS treba rozlišovať medzi pôvodným iAPS/Trio ekosystémom a samostatnými autoISF vetvami. iAPS obsahuje aj algoritmus AutoISF.

V súčasnosti existuje napríklad Tai, teda fork Tria obsahujúci implementáciu autoISF. Jeho dokumentácia uvádza rovnaké štyri základné mechanizmy:

  • acce_ISF,
  • bg_ISF,
  • pp_ISF,
  • dura_ISF.

Tai zároveň upozorňuje, že ide o experimentálny open-source systém a autoISF je predvolene vypnuté.


AutoISF verzus DynamicISF

Hoci oba systémy menia ISF dynamicky, ich filozofia je odlišná.

DynamicISF

Hlavná otázka je približne:

Akú citlivosť by sme mali očakávať pri tejto glykémii a inzulínovej potrebe?

Do výpočtu vstupujú najmä:

  • glykémia,
  • TDD,
  • nastavený adjustment factor.

ISF sa teda mení kontinuálne podľa metabolického kontextu.

AutoISF

Hlavná otázka je skôr:

Čo práve robí glykemická krivka a mala by na to slučka reagovať agresívnejšie alebo opatrnejšie?

Sleduje:

  • zrýchľovanie,
  • brzdenie,
  • vzdialenosť od cieľa,
  • deltu,
  • trvanie zvýšenej glykémie.

A tým modifikuje profilové ISF. DynamicISF teda môžeme veľmi zjednodušene vnímať ako dynamický výpočet citlivosti. AutoISF skôr ako dynamický regulátor agresivity podľa správania krivky.

AutoISF nie je „automatické nastavenie AAPS“

Názov môže byť trochu zavádzajúci.

AutoISF neznamená, že algoritmus si sám nájde správne ISF. Práve naopak. Potrebuje dobré profilové ISF ako východiskový bod. AutoISF iba hovorí:

Za aktuálnych okolností potrebujem byť oproti tejto hodnote dočasne agresívnejší alebo opatrnejší.

Ak je profilové ISF zlé, celá matematika stojí na nesprávnom základe.

To je dôvod, prečo má byť autoISF až nadstavbou nad už dobre fungujúcim systémom.

Ako autoISF analyzovať

Jednou z najväčších výhod autoISF je, že používateľ nemusí iba hádať, čo sa stalo.

V AAPS možno sledovať:

  • jednotlivé vypočítané ISF faktory,
  • Script debug,
  • efektívny iobTH,
  • IOB,
  • COB,
  • preloženú parabolu,
  • krátkodobú extrapoláciu glykémie.

Existuje aj projekt APS-what-if, ktorý umožňuje prehrať historické dáta a analyzovať, ako by algoritmus reagoval pri inom nastavení.

To je zásadne lepší spôsob ladenia než náhodne meniť parametre a čakať, čo sa stane pri ďalšom jedle.

Najväčšie riziko nie je vysoká glykémia

Pri autoISF je prirodzené sledovať najmä postprandiálne špičky. Človek vidí 10 mmol/l a premýšľa: Algoritmus mal podať viac inzulínu. Lenže výsledok jedla sa nemá hodnotiť vo vrchole.Treba sa pozrieť aj o 2–3 hodiny neskôr.

Ak sa vrchol znížil z 10 na 8 mmol/l, ale o dve hodiny nasledovala glykémia 3,5 mmol/l, systém sa nezlepšil. Bol príliš agresívny. Najväčším rizikom agresívneho autoISF teda nie je hyperglykémia. Je ním oneskorená hypoglykémia spôsobená príliš veľkým IOB. Inzulín sa totiž do tela dostane rýchlo, ale z tela ho už algoritmus odstrániť nedokáže.

Čo si od autoISF realisticky sľubovať?

Pri dobre nastavenej hybridnej slučke nemusí byť výsledkom dramaticky vyšší TIR.

Ak má človek už TIR 90–95 %, veľa priestoru na jeho ďalšie zvýšenie jednoducho nezostáva.

Prínos môže byť inde:

  • menej manuálnych korekcií,
  • lepšie zvládnutie mastných jedál,
  • menšie dlhodobé plató,
  • menšia potreba automatizácií meniacich profil,
  • pri FCL výrazne menej interakcie s pumpou.

A práve pri FCL je podľa mňa najlepšie nastaviť očakávania správne. Cieľom nemusí byť lepšia glykémia než pri perfektne zvládnutej hybridnej slučke.

Cieľom môže byť dosiahnuť podobný výsledok bez potreby oznamovať systému každé jedlo. To je veľmi odlišná definícia úspechu.

Kedy autoISF nepoužívať?

AutoISF nie je dobrý spôsob riešenia situácie, ak:

  • bazálny profil nesedí,
  • ISF nie je správne nastavené,
  • sacharidový pomer je výrazne chybný,
  • CGM má nekvalitné alebo často chybné dáta,
  • používateľ nerozumie nastaveniu a správaniu SMB a UAM,
  • maxIOB je nastavený bez pochopenia jeho významu,
  • alebo sa parametre menia metódou pokus–omyl bez analýzy logov.

V takom prípade autoISF pridáva ďalšiu premennú do systému, ktorý už predtým nebol stabilný. Výsledok sa potom analyzuje ešte ťažšie.

Záver

AutoISF je v jadre veľmi elegantná myšlienka. Namiesto toho, aby mala uzavretá slučka jednu pevnú odpoveď na rovnakú odchýlku od cieľa, dostane možnosť položiť si ďalšiu otázku:

Ako sa sem glykémia dostala a čo práve robí?

Ak prudko zrýchľuje, slučka môže pritvrdiť.

Ak rast začína brzdiť, môže ustúpiť ešte pred vrcholom.

Ak je glykémia vysoko a hodinu sa prakticky nehýbe, môže postupne zvýšiť tlak.

A ak je pod cieľom, môže svoju reakciu zjemniť.

Práve táto schopnosť reagovať na tvar glykemickej krivky, nielen na jej aktuálnu hodnotu, robí autoISF zaujímavým.

Zároveň je to jeho najväčšie riziko.

AutoISF dokáže existujúcu slučku výrazne zosilniť. Preto potrebuje:

  • správne profilové ISF,
  • kvalitné CGM,
  • dobre nastavený základný AAPS,
  • rozumné bezpečnostné limity,
  • a používateľa, ktorý rozumie tomu, prečo algoritmus podáva inzulín.

Pre väčšinu skúsených používateľov, ktorí chcú autoISF preskúmať, dáva väčší zmysel začať jedným konkrétnym problémom v hybridnej slučke než rovno prejsť na FCL.

Full Closed Loop je úplne iná úroveň experimentovania. Nie je to prepínač. Je to proces ladenia, analýzy a kontroly toho, čo sa deje nielen počas prvých 20 minút po jedle, ale aj o niekoľko hodín neskôr.

A práve tam sa ukáže, či bol algoritmus skutočne múdrejší – alebo iba agresívnejší.

Kde hľadať ďalšie informácie


Upozornenie: autoISF je experimentálny open-source softvér a nie je zdravotníckou pomôckou. Tento článok slúži na technické a edukačné vysvetlenie algoritmu, nie ako návod na úpravu inzulínovej liečby. Nastavenia nemožno bezpečne kopírovať medzi používateľmi. Akékoľvek zmeny je potrebné robiť s pochopením ich dôsledkov a vyhodnocovať na vlastných dátach.

O autorovi

Ľubor Jurena

Zakladateľ skHosting.eu, systémový a sieťový architekt a človek žijúci s diabetom. Na glykemia.sk prepájam osobnú skúsenosť s diabetickými technológiami a prácou pre open-source komunitu.

Viac o mne →

Posted

in

by