Разработчик-диабетик собрал искусственную поджелудочную железу, работающую на JavaScript​ Статьи редакции

Лиаму Зебеди понадобились инсулиновая помпа, пара контроллеров и несколько программ с открытым исходным кодом.

Здоровая поджелудочная железа вырабатывает инсулин и знает, когда и сколько его нужно — в ответ на изменение уровня глюкозы в организме. У больных диабетом поджелудочная железа работает с нарушениями.

  • Диабетики принимают инсулин для усвоения углеводов, по наитию определяя дозировки. В разной пище — разное количество углеводов со своим гликемическим индексом (скоростью усвоения). Законы разрешают производителям закладывать в информацию о пищевой ценности отклонения до 10% от того или иного значения.
  • Плохой сон нарушает метаболизм, при пробуждении инсулина требуется больше — как и при стрессе или болезни.
  • Организм менее восприимчив к инсулину, когда уровень сахара в крови больше положенного.

Диабетики, контролируя приём инсулина, занимаются математической оптимизацией, считает Зебеди. Его искусственная поджелудочная железа занимается тем же самым, только процесс на 80% автоматизирован.

Оборудование

  • Глюкометр FreeStyle Libre CGM.
  • Трансмиттер Miaomiao — передаёт данные с Libre (работает на NFC) на телефон по Bluetooth.
  • Nightscout — программа с открытым исходным кодом для хранения и визуализации данных для диабетиков первого типа (инсулин практически не вырабатывается организмом). Хостинг — Heroku.
  • Приложение xDrip, которое принимает данные по Bluetooth и отправляет их в Nightscout.
  • Инсулиновая помпа Medtronic — для инъекций инсулина.
  • Intel Edison + Explorer HAT — плата с поддержкой Wi-Fi и радиокоманд частотой 900 МГц.
  • Аккумулятор на 4400 мА.
  • OpenAPS — «операционная система» искусственной поджелудочной. Выгружает данные из Nightscout, прогнозирует и подстраивает доставку инсулина помпой, подгружает данные в Nightscout для непрерывного отслеживания. Исходный код открыт.

Цены

  • Помпа у разработчика уже была, стоит она, как правило, около €3100.
  • FreeStyle Libre CGM — €70 за считыватель (разовая трата) и €140 в месяц на сенсоры.
  • Трансмиттер Miaomiao — €200.
  • Хостинг Heroku для Nightscout — бесплатно.
  • xDrip — Зебеди пришлось купить годовую лицензию разработчика за €93, чтобы установить программу на телефон: Apple запрещает его загрузку в App Store.
  • Intel Edison обошёлся в €57. Мини-компьютер не продаётся уже два года, поэтому пришлось как следует поискать на Amazon и eBay.
  • Explorer HAT — плату изготовила компания Enhanced Radio в США за €68.
  • Аккумулятор Adafruit за €50 ёмкостью в два раза больше нужной — просто на всякий случай.
  • OpenAPS — бесплатно, открытый исходный код.

Итого, исключая помпу: €608.

Ежемесячные траты, исключая инсулин: €140.

Сборка

На сборку Зебеди потратил около девяти часов:

  • Час на чтение документации по OpenAPS, она очень большая.
  • Два часа на загрузку Jubilinux и настройку Edison.
  • Два с половиной часа на загрузку пакетов и библиотек с помощью APT и NPM. Поскольку OpenAPS — обычный набор простейших Bash-скриптов, всё пришлось загружать заново.
  • Час на покупку лицензии разработчика Apple и установку xDrip.
  • Час на настройку хостинга для Nightscout, с аутентификацией и особыми плагинами для OpenAPS.
  • Два часа на устранение багов. Система почему-то не считывала показатели из Nightscout. Не сумев устранить неполадки, Зебеди обратился за помощью в Gitter. Оказалось, проблема была в приложении Tomato, которым он пользовался для отслеживания уровня сахара в крови. Поэтому разработчик переключился на xDrip.
​Все нужные детали
​Трансмиттер Miaomiao
​Инсулиновые помпы (Зебеди использовал нижнюю)
​Модуль Intel Edison
​Подключение к модулю Edison через USB Serial. Зебеди использовал путь /dev/tty.usbserial-xyz 115200
​Установка Jubilinux
​Настройка протоколов SSH
​Лог OpenAPS

OpenAPS предельно проста благодаря большому собранию Bash, Python и JavaScript. В этот момент Зебеди столкнулся со стектрейсом ниже (список строк кода, которые были вызваны до возникновения в приложении сбоя).

myopenaps/monitor/glucose.json: Unexpected end of JSON input

Разработчик установил xDrip на замену Tomato. Первая — с открытым исходным кодом, что, замечает Зебеди, видно по простому дизайну.

​Интерфейс xDrip

Зебеди написал в Gitter, и через час ему помогли решить проблему: не хватало параметра dateString.

​Сообщение Зебеди

После код заработал.

Использование

Ниже — интерфейс Nightgraph. Зебеди пометил цифрами четыре основных элемента:

  1. Статус системы.
  2. Динамика уровня сахара в крови.
  3. Прогноз OpenAPS.
  4. Введение инсулина помпой.

OpenAPS каждые пять минут корректирует базальные профили, или дозировки подачи инсулина («Как OpenAPS принимает решения»). Основные параметры, которые вычисляет система:

  • Разница между текущим уровнем сахара в крови и средним за последние пять минут.
  • Среднее изменение уровня сахара за 15 и 45 минут.
  • Количество инсулина в организме: это важно, поскольку он расходуется неинтуитивно, оставаясь в теле какое-то время, а не исчезая вместе с переработанной глюкозой.
  • Чувствительность к инсулину.
Средний уровень сахара в крови — производная от предыдущих средних показателей, а количество инсулина в организме представляет собой экспоненциальную кривую Документация OpenAPS

Кроме того, OpenAPS замечает, когда Зебеди заболевает. За сутки до первых симптомов уровень сахара в крови у него значительно повышается.

OpenAPS, отмечает разработчик, — не панацея. Ему по-прежнему нужно принимать инсулин перед едой, да и с алкоголем система тоже не поможет. Тем не менее с OpenAPS ему гораздо удобнее и спокойнее.

​Собранное устройство
​Слева — трансмиттер Miaomiao, справа — датчик глюкометра
​Инсулиновая помпа
0
51 комментарий
Написать комментарий...
Alex Veremeenko

Велосипед, такие системы есть.

Вот если бы он сделал копию сенсора из подручных средств - весь мир был бы благодарен.

Хотя, пристрелили его тогда бы.

Ответить
Развернуть ветку
GrimCap

А кстати в чем проблема этих сенсоров? Почему они так адово стоят и их нужно постоянно менять?

Ответить
Развернуть ветку
Alexander Mitryashkin

Потому что это не гвоздь, а медицинский прибор.

Ответить
Развернуть ветку
GrimCap

Скальпель это тоже медицинский прибор, и он стоит не 120$
Эндоскоп/рентгеновский аппарат тоже медицинский прибор, но их не нужно менять каждый месяц

Если не знаете, просто не пишите

Ответить
Развернуть ветку
Alexander Mitryashkin

Я знаю. Я знаю и общался с разработчиком libre freestyle sensor который используется этим умельцем. Менять сенсор нужно по 3 причинам: адгезивная поверхность теряет свои свойства, филамент который идёт в верхний слой кожи засоряется и перестает поставлять пот, иммобилизованная глюкозоксидаза теряет свои свойства.

Теперь перейдем к скальпелям: скальпели есть разные и ультразвуковые скальпели стоят нормально. Эндоскоп и рентген имеют тоже свои расходники которые нужно менять. Сенсор на либре это такой же расходник.

А теперь цена: выпуску любого мед.прибора на рынок предшествуют годы разработок, множество патентов и потом ещё годы сертификации у той же FDA. Вы же знаете сколько стоил пенициллин как только появился и сколько стоит сейчас? Также и с любым мед.аппаратом. Через какое-то время на рынке появятся модели и цена снизится

Ответить
Развернуть ветку
GrimCap
Менять сенсор нужно по 3 причинам:

1) адгезивная поверхность теряет свои свойства,
2) филамент который идёт в верхний слой кожи засоряется и перестает поставлять пот,
3) иммобилизованная глюкозоксидаза теряет свои свойства.

оке, вот это более нормальный ответ, спасибо. Можно дальше говорить:
1) Вы хотите сказать, что сенсор отклеивается от кожи? Ну так и говорите. Думаю, приклеить его труда не составляет
2) Филамент это что? Я только про 3д печать знаю, это не то.
И почему бы не заменить именно его?
3) оке. Так почему бы ее и не заменить? Зачем менять весь сенсор?

Вы же знаете сколько стоил пенициллин как только появился и сколько стоит сейчас?

Обычно цена снижается, когда находится дешевый аналог или государство заставляет особо зарвавшиеся корпорации выпускать лекарства по адекватной цене

Ответить
Развернуть ветку
Alexander Mitryashkin

1. Две недели достаточный срок для адгезивной поверхности по причине износа в первую очередь других компонентов системы
2-3. Филамент там - это микрокапилярная система собирающая внеклеточную жидкость. Ни филамент, ни GOx нет возможности заменить по следующим причинам:
- сборка разработана так чтобы эффективно выполнять свою функцию и если ее сделать разделяющуюся/заменяемую, то результат будет плюс-минус километр;
- если делать заменяемые модули, то размеры и цена устройства существенно вырастет (надо будет решать сопутствующие проблемы). Получится как техника из СССР - вроде как вся ремонтируется но качество оставляет желать лучшего;
- все сенсоры калибруются на заводе после производства, вы предлагаете ещё чтобы пользователи сами калибровали сенсор после замены частей? Ещё один девайс разработать? 
- регистрация в FDA займет ещё больше времени с большой вероятностью недопуска на рынок, что приведет к росту цены изделия т.к. риски

И про зарвавшиеся корпорации: патентное право для того и создано, чтобы через время на рынке появлялись дешёвые аналоги. А если государство будет заставлять корпорации продавать все дёшево то получим СССР опять по уровню мед.приборов. Никто не будет вкладываться в затратные разработки по причине того что это станет не выгодно. Советую просто зайти на сайт FDA и посмотреть хоть один road map по сертификации изделий. 

Ответить
Развернуть ветку
GrimCap

Про сборку/разборку дальше дискутировать не могу  - не обладаю знаниями. Но предположу, что круто было бы _попробовать_ сделать модульный модуль, где изнашивающаяся часть (клейкая лента и филамент) была бы съемная и идентичная - калибровка тогда будет не нужна

Интересно есть какой-нибудь самопальный аналог?

то получим СССР опять по уровню мед.приборов.

думаю, для начало надо иметь такой уровень медприборов бесплатно и для всех. А потом уже думать о чем-то лучшем.

Ответить
Развернуть ветку
Alexander Mitryashkin

"можно сделать модульный прибор чтобы менять только изнашивающуюся часть" - вы как раз предложили то что и реализовано у libre freestyle - замена сенсора.

Что значит иметь уровень приборов бесплатно? Всегда кто-то платит. Если делать "бесплатно и для всех" то и получается как раз качество и функциональность СССР - говно. А скорее всего ничего даже и не получается так как умные люди не хотят работать бесплатно

Ответить
Развернуть ветку
GrimCap
как раз качество и функциональность СССР - говно

Можно конечно сравнить медицинское оборудование СССР и США в каких-нибудь 60-х даже, но зачем, если мы даже сейчас видим, что в США оно для многих недоступно?

Ответить
Развернуть ветку
48 комментариев
Раскрывать всегда