SmartCGMS

Software SmartCGMS představuje CGM systém nové generace.

O SmartCGMS

Software SmartCGMS představuje CGM systém nové generace. Zakládá na moderních principech vývoje softwaru a systémů odolných proti poruchám. Podlehlá architektura se skládá z bloků, kterými mohou být jak reálná zařízení, tak jejich simulované verze. Pro vývoj nových metod a algoritmů je simulace velmi významným prvkem celého procesu. Náš software umožňuje takovou simulaci nadefinovat a později nahradit simulovaná zařízení za reálná bez nutnosti jakkoliv zasahovat do zdrojových souborů.

Návrh podlehlé architektury vychází z myšlenek kosimulace a standardu High-Level Architecture (HLA). Pro naše účely byla tato architektura výrazně zjednodušena, aby ji bylo možné provozovat například i na zařízeních s omezeným zdrojem elektrické energie. Takovým zařízením je typicky mobilní telefon nebo inzulinová pumpa.

SmartCGMS obsahuje/podporuje následující in-silico modely:

  • Bergman-Hovorka-Willinska-Koutny kombinace modelů
  • UVA/Padova S2013
  • SimGlucose, s vynulovaným parametrem xi u UVA/Padova S2013
  • T1DMS
  • DMMS.R


Aplikace

Hlavní aplikaci je možné spustit s grafickým prostředím, případně pouze z příkazové řádky. Grafické prostředí poskytuje rozhraní pro nastavení simulace včetně parametrizace všech částí systému. Nastavenou simulaci lze spustit výběrem simulačního pohledu a stisknutím tlačítka "Start" v horní části pohledu.

V průběhu simulace lze prohlížet grafy s aktuálními výstupy - denní přehled, celkový pohled, Parkesův a Clarkův grid nebo ambulatorní glykemický profil. Rovněž jsou k dispozici pravidelně obnovované chybové metriky a empirická kumulativní distribuční funkce. Aplikace dále podporuje filtrování viditelnosti časových segmentů a signálů v grafu pomocí nabídky v pravé části pohledu. O průběhu simulace je veden kompletní záznam, který je k dispozici v příslušné záložce v simulačním pohledu.

Pohledy je možné přibližovat a oddalovat kolečkem myši a přiblížené je lze uložit do souboru výběrem příslušné položky v kontextovém menu obrázku. Uživatel může dále ovlivňovat průběh simulace vyžádáním spuštění výpočtu parametrů modelu tlačítkem v horní části obrazovky a výběrem signálu, jehož parametry mají být přepočteny.

Nastavení

V grafickém rozhraní v konfiguračním pohledu lze nastavit celou simulaci skládáním z jednotlivých bloků. V pravé části pohledu jsou dostupné filtry, v levé části jsou pak již vybrané filtry zařazené do architektury. Pořadí filtrů je důležité - jsou spojeny do lineárního řetězu, ve kterém si postupně předávají zprávy.

Typicky je na prvním místě zařazen filtr, který načítá nebo generuje data. Tato data mohou být načítána buď z databáze, standardního výstupního formátu některého ze zařízení nebo může být přehrán záznam z předchozí simulace. Následují filtry pro výpočty parametrů modelu a signálů, kterých může být libovolný počet. Pro grafické prostředí je typicky posledním filtrem v architektuře filtr s názvem "Visualization," který se stará o grafické výstupy do rozhraní a o záznam simulace.

Podrobnější popis všech dostupných filtrů je možné nalézt v dokumentaci.

Mobilní aplikace

Mobilní aplikace

Jelikož je architektura implementována přenositelně, je možné ji beze změny v jejím kódu použít i na zařízení s omezeným zdrojem elektrické energie. Takovým zařízením je například i mobilní telefon doplněný o "chytré" hodinky, případně inzulinová pumpa.

S mobilní aplikací se lze připojit k senzorům implementujících standard IEEE-11073. S využitím stejné architektury pouze s mírně odlišnou konfigurací lze dosáhnout takřka okamžité adaptace nových technologií ze simulovaného prostředí do reálného provozu.

Doplněním mobilní aplikace o tzv. "chytré" hodinky lze zvýšit pohodlí pacienta tak, že je možné se pro zjištění aktuální koncentrace glukózy pouze podívat na zápěstí. Není navíc nutné instalovat žádnou další aplikaci - data jsou zobrazována v existující watch-face v datových proudech.

Matlab

Aplikace je vysoce modulární a podporuje integraci s dalšími nástroji. Kromě vývoje vlastního filtru, modelu, metriky nebo algoritmu pro výpočet parametrů v kompilovaných jazycích (např. C++) lze například vytvořit i vlastní model a algoritmus v jazyce Matlab.

Uživatelé systému Matlab mohou implementovat vlastní model dynamiky glukózy a algoritmus pro hledání parametrů. V adresáři se zdrojovými soubory u filtru matlab je přiložen příklad jednoduché lineární regrese a regresního modelu přímky, který lze použít jako základ pro vývoj vlastních modulů.

Důležitým prvkem je soubor s definicemi - matlab_manifest.xml. Ten obsahuje odkaz na skripty v jazyce Matlab, které budou simulátorem načteny a příslušné definice zpřístupněny v konfiguraci. Tento soubor je nutné pro fungování integrace přesunout do podsložky filters výsledného zkompilovaného řešení. Uvnitř souboru lze definovat jednak skripty, a jednak definice vstupních a výstupních elementů, jako jsou například signály potřebné pro výpočet.

Definicí názvu sezení a exportem z běžící instance nástroje Matlab lze umožnit i interaktivní ladění.

Instalace

Zdrojové kódy aplikace jsou k dispozici v souladu s licencí všech použitých knihoven v archivu s binární distribucí, který lze stáhnout níže.

Pro správné přeložení musí na daném prostředí být nainstalovány tyto prerekvizity:

  • kompilátor s podporou C++17 (např. gcc 7 a vyšší)
  • CMake
  • git
  • Qt 5

K přeložení je přiložen soubor CMakeLists.txt, kterým lze systém SmartCGMS sestavit. Adresář core je prázdný - tam patří zdrojové kódy Vašich vlastních filtrů.

S úspěšným přeložením je vytvořen podadresář bin, ve kterém naleznete tyto důležité soubory a adresáře:

  • gpredict3-console - konzolová verze bez grafického prostředí
  • gpredict3-desktop - verze s grafickým prostředím
  • filters - adresář s jednotlivými filtry

Stažení SmartCGMS

Veřejnou binární verzi můžete získat po vyplnění formuláře níže. Jedná se o jednotný postup pro MS Windows 64-bit, macOS 64-bit a Debian GNU/Linux 64-bit. V případě jiného systému nám, prosím, dejte vědět.

Tato distribuce SmartCGMS je zdarma pro nekomerční použití a akademický výzkum. Není určena k použití pro léčbu nebo jiný účel, který vyžaduje příslušnou certifikaci.

Použitím tohoto software ve Vašem výzkumu se zavazujete v publikacích uvést tuto citaci:

  1. T. Koutny and M. Ubl, "Parallel software architecture for the next generation of glucose monitoring", Procedia Computer Science, Volume 141C, pp. 279-286, 2018


Souhlasím s výše uvedenými podmínkami, potvrzuji, že mnou zadané údaje jsou správné a souhlasím s jejich uchováním (včetně IP adresy) na straně provozovatele portálu


Databáze CGMS profilů

Vyplněním formuláře níže můžete získat anonymizovanou databázi s CGMS profily typu 1 a dopočítanými koncentracemi krve.

Tato databáze je zdarma pro nekomerční použití, pouze pro akademický výzkum, a nelze ji volně distribuovat dále. Pouze lze sdělit URL, https://diabetes.zcu.cz, kde lze tuto databázi opětovně stáhnout.

Budete-li publikovat jakékoliv výsledky získané s touto databází, je nutné použít následující citaci:

We have used a database with diabetes type-1 completely anonymized CGMS profiles, which is available as a part of the SmartCGMS project [1]. This database has been enriched with artificially calculated blood glucose levels [2].

  1. T. Koutny and M. Ubl, "Parallel software architecture for the next generation of glucose monitoring", Procedia Computer Science, Volume 141C, pp. 279-286, 2018
  2. I. De Falco, A. Della Cioppa, A. Giugliano, A. Marcelli, T. Koutny, M. Krcma, U. Scafuri, E. Tarantino, "A Genetic Programming-based Regression for Extrapolating a Blood Glucose-Dynamics Model from Interstitial Glucose Measurements and their Derivatives", Submitted to the Applied Soft Computing Journal, 2018


Souhlasím s výše uvedenými podmínkami, potvrzuji, že mnou zadané údaje jsou správné a souhlasím s jejich uchováním (včetně IP adresy) na straně provozovatele portálu