Stránky

Výpočet kalibračného faktora

Pre lepšiu kalibráciu CGM systému, ktorým sa zaoberáme, je dobré vedieť ako systém počíta kalibračný faktor. Na internete je možné nájsť všeličo. Od pochybných odporúčaní až po serióznejšie výpočty ako napríklad tu: myparadigm.eu. Akoby zo zásady nikto neuvádza aspoň nejaké referencie alebo niečo na základe čoho by sa dalo usúdiť odkiaľ sú konkrétne informácie.

Systémom vypočítaný kalibračný faktor $CF$ je zapísaný v dátovom CSV súbore z CareLinku, čiže v tabuľke, ktorá obsahuje všetky údaje zo systému. Otázka je ako vypočítať to isté číslo $CF$ pomocou ISIGu a kalibračnej glykémie. Obe informácie sú tiež zapísané v CSV súbore.

Prvým krokom pri výpočte kalibračného faktora je spárovanie kalibračnej glykémie zodpovedajúcej hodnoty $ISIG$. Píše sa o tom napr. v patente č. US6426847Fig. 11. Koncentrácia glukózy v podkoží zaostáva za koncentráciou v krvi. Zhruba 10 minút (údajne empiricky zistené). Glukózový monitor preto počká nejaký čas od zadania kalibračnej glykémie a až potom spáruje kalibračnú glykémiu s nameraným ISIGom. Perióda vzorkovania ISIGu je 5 minút. Glukózový monitor spáruje kalibračnú glykémiu s treťou hodnotou ISIGu od času zadania (plus-mínus) kalibračnej glykémie. Výsledkom je oneskorenie až do 15 minút [US6426847, stĺpec 11, riadok 55].

Keď už máme spárované kalibračné hodnoty, potom výpočet kalibračného faktora závisí od
  • počtu predchádzajúcich kalibračných faktorov (prvý sa počíta inak ako ostatné)
  • doby používania konkrétneho senzora (napr. senzor sa reštartuje po 3 dňoch)
  • iné...
...aspoň tak sa píše v patentoch US6426847 a US20090112478. Presný algoritmus výpočtu kalibračného faktora použitý práve v systéme, ktorý skúmame, len tak ľahko nezistíme. Možností ako by to mohlo byť je naozaj veľa, čo dokazujú aj uvedené patenty. Môžme sa však aspoň priblížiť ku skutočnému algoritmu. Aj tak to môže byť užitočné.

Ukázalo sa, že systém počíta s jednotkami [mg/dl]. Ďalej, že hodnoty v CSV súbore sú prakticky vždy zaokrúhlené. K presným číslam, s ktorými počíta systém (glukózový monitor) sa nedostaneme. Preto ani výsledky, ktoré dostaneme nebudú rovné zapísaným v CSV súbore. Budú len „dostatočne blízke“.

Prvý kalibračný faktor

V nediabetickom denníku prišla prvá výzva ku kalibrácii 16.02. o 20:37. Zodpovedajúca časť CSV súboru je nasledovná:

TimestampVýstrahaKalibračná glykémia senzora (mmol/l)Glukóza zo senzora (mmol/l)Hodnota ISIGRaw-TypeRaw-Values
16.2.2014 20:36:00SensorCalCAL_TYPE=meter_bg_now, ISIG=25,9, VCNTR=null, BACKFILL_INDICATOR=null
16.2.2014 20:37:55Varovanie senzora: Zmeraj GK teraz (104)AlarmSensorALARM_TYPE=104, AMOUNT=0, ACTION_REQUESTOR=sensor
16.2.2014 20:41:00SensorCalCAL_TYPE=meter_bg_now, ISIG=26,02, VCNTR=null, BACKFILL_INDICATOR=null
16.2.2014 20:43:00CalBGForGHAMOUNT=81, ORIGIN_TYPE=manual
16.2.2014 20:43:264,5CalBGForPHAMOUNT=81, ACTION_REQUESTOR=pump
16.2.2014 20:46:00SensorCalCAL_TYPE=waiting, ISIG=26,02, VCNTR=null, BACKFILL_INDICATOR=null
16.2.2014 20:51:00SensorCalCAL_TYPE=waiting, ISIG=25,92, VCNTR=null, BACKFILL_INDICATOR=null
16.2.2014 20:56:004,425,87GlucoseSensorDataAMOUNT=80, ISIG=25,87, VCNTR=null, BACKFILL_INDICATOR=null
16.2.2014 20:57:00SensorCalFactorCAL_FACTOR=3,125
16.2.2014 21:01:004,426,13GlucoseSensorDataAMOUNT=80, ISIG=26,13, VCNTR=null, BACKFILL_INDICATOR=null

Alebo vo forme grafu:

Vypočítajme prvý kalibračný faktor. Kalibračná glykémia $CGB = 4,5$ [mmol/l] čo je $81$ [mg/dl]. V CSV súbore zapísané ako AMOUNT=81, viď tabuľka vyššie. Treria hodnota $ISIG$ od zadania $CBG$ je $ISIG = 25,87$ [nA]. Potom kalibračný faktor $CF$ [mg/dl/nA] je
$$ \begin{equation} CF_0 = \frac{CBG}{ISIG} = \frac{81}{25,87} \dot{=} 3,131    \end{equation}$$ kde index ${}_0$ znamená, že je to nultý $CF$ (pred ním neprebehla žiadna kalibrácia). Výsledok je „blízko“ k tomu čo je zapísané v CSV súbore.

Kalibračný faktor je vypočítaný v čase tretej vzorky ISIGu od kalibračnej glykémie. V CSV súbore však môže byť zapísaný neskôr. Aspoň tak sa zdá.

Nasledujúci kalibračný faktor

Ďalšia kalibračná glykémia bola zadaná o 2:26. $CBG=5,3$ [mmol/l], teda $95,4$ [mg/dl] zapísané ako AMOUNT=95. Použijeme $CBG=95$ [mg/dl]. Priraďme k tomu (viď tabuľka nižšie) $ISIG = 19,22$ [nA]. Potom
$$ \begin{equation} CF_c = \frac{CBG}{ISIG} = \frac{95}{19,22} \dot{=} 4,943  \end{equation}$$ Hodnota $CF_c$ nie je „dostatočne blízka“ kalibračnému faktoru zapísanému v CSV súbore. To preto, že ak existujú predchádzajúce kalibrácie, výpočet aktuálneho $CF$ berie do úvahy aj tieto. $CF_c$ je  len pomer aktuálnej kalibračnej glykémie k priradenému ISIGu. Predchádzajúci kalibračný faktor označme $CF_p$. V tomto prípade je to prvý v poradí, teda $CF_p = 3,131$ [mg/dl/nA].

Podľa všetkého, za štandardných okolností sa nasledujúci $CF$ vypočíta ako priemer hodnôt $CF_p$ a $CF_c$, teda
$$ \begin{equation} CF = \frac{CF_p + CF_c}{2} = \frac{3,131 + 4,943}{2} \dot{=} 4,037  \end{equation} $$ čo je opäť „dostatočne blízko“ k hodnote zapísanej v CSV súbore. Zodpovedajúca časť CSV súboru je v nasledujúcej tabuľke a na nasledujúcom obrázku:

TimestampVýstrahaKalibračná glykémia senzora (mmol/l)Glukóza zo senzora (mmol/l)Hodnota ISIGRaw-TypeRaw-Values
17.2.2014 2:26:00
3,419,78GlucoseSensorDataAMOUNT=62, ISIG=19,78, VCNTR=null, BACKFILL_INDICATOR=null
17.2.2014 2:26:255,3CalBGForPHAMOUNT=95, ACTION_REQUESTOR=pump
17.2.2014 2:31:003,419,6GlucoseSensorDataAMOUNT=62, ISIG=19,6, VCNTR=null, BACKFILL_INDICATOR=null
17.2.2014 2:36:003,319,41GlucoseSensorDataAMOUNT=60, ISIG=19,41, VCNTR=null, BACKFILL_INDICATOR=null
17.2.2014 2:41:004,419,22GlucoseSensorDataAMOUNT=80, ISIG=19,22, VCNTR=null, BACKFILL_INDICATOR=null
17.2.2014 2:42:00SensorCalFactorCAL_FACTOR=4,119
17.2.2014 2:46:004,319,07GlucoseSensorDataAMOUNT=78, ISIG=19,07, VCNTR=null, BACKFILL_INDICATOR=null



Problém s výraznou zmenou ISIGu

Podľa uvedeného postupu vypočítajme niekoľko ďalších kalibračných faktorov $CF$. Porovnanie s hodnotami $CF_{CSV}$ zapísanými v CSV súbore je v nasledujúcej tabuľke:
p.č. kalibrácie$CBG$$ISIG$$CF_c$$CF_p$$CF$$CF_{CSV}$
08125,87--3,1313,125
19519,224,9433,1314,0374,119
2887,6611,4884,0377,7635,079
3597,128,2877,7638,0255,464
4796,3212,5008,02510,2638,177
51086,0917,73410,26313,99913,443
61036,715,37313,99914,68614,742
7726,5710,95914,68612,82312,09

Výrazná a pomerne rýchla zmena v hodnotách $ISIG$, aká nastala v tomto prípade, je „neštandardná situácia“.  Ako vidíme z tabuľky vyššie v „neštandardnej situácii“ náš algoritmus nezodpovedá tomu skutočnému. Nami vypočítané $CF$ a skutočné $CF_{CSV}$ nie sú „dostatočne blízke“. Po čase, keď sa situácia s hodnotami $ISIG$ stala štandardnou sú $CF$ a $CF_{CSV}$ opäť „dostatočne blízke“. Pri štandardných podmienkach teda náš algoritmus funguje. Tým sme overili aj tvrdenia na myparadigm.eu.

Po 72 hodinách sa senzor musí opäť spustiť ako nový senzor. Odôvodnene sa domnievam, že aj výpočty skutočného $CF$ sa tým spustia nanovo. V nediabetickom denníku po 72 hodinách nenastali žiadne výrazné zmeny v ISIG hodnotách. Môžme to považovať za „štandardné“ podmienky pri meraní. Vypočítajme $CF$ pre údaje po 72 hodinách používania senzora podľa postupu uvedeného vyššie. Výsledky sú v tabuľke:
p.č. kalibrácie$CBG$$ISIG$$CF_c$$CF_p$$CF$$CF_{CSV}$
0835,15--16,11715,828
1855,0017,00016,11716,55816,385
2744,8015,41716,55815,98715,862
3765,2314,53215,98715,26014,767
4775,6813,55615,26014,40813,802
5746,3011,74614,40813,07712,518
6707,339,55013,07711,31310,309
7949,3510,05311,31310,68310,002

Vidíme, že pre „štandardné“ podmienky pri meraní, čo teraz znamená, že ISIG sa nemení nepredvídane, sme dostatočne dobre vypočítali kalibračný faktor.

Alebo nie?

MT

18. 4. 2014