IT-инфраструктура для бизнеса и творчества

Разработчик-диабетик собрал искусственную поджелудочную железу, работающую на 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, справа — датчик глюкометра
​Инсулиновая помпа
{ "author_name": "Кирилл Казаков", "author_type": "self", "tags": ["\u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435","javascript"], "comments": 51, "likes": 26, "favorites": 20, "is_advertisement": false, "subsite_label": "dev", "id": 84930, "is_wide": true, "is_ugc": true, "date": "Mon, 30 Sep 2019 13:36:03 +0300", "is_special": false }
(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
51 комментарий
Популярные
По порядку
Написать комментарий...

На языке в котором '5' - '2' = 3, а '5' + '2' = '52' я бы как-то забоялся поджелудочную гонять 😂

25

Вы, возможно, не поверите, но подобное поведение довольно логично и предсказуемо, если представлять себе как устроен javascript. Если вам подобная логика не нравится - вы можете писать строго типизированный код на typescript, например, где операция '5' - '2' приведет к ошибке еще на стадии компиляции.

5

Или C, но это не сделает из JavaScript нормальный язык. 

–1

а что значит нормальный или не нормальный? ts программистам платят больше, чем c# или java - вполне нормально

0

И при чем тут typescript? Это всего лишь dsl, который пытается исправить косяки js. Насчёт зарплат не согласен. Можете привести источник?

0

https://habr.com/ru/company/moikrug/blog/443810/

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

понятно что это не язык в целом, но важно его уметь правильно применять и работать с ним, что равносильно изучению нового языка. Плюс в вакансиях указывается typescript разработчик, а не js. ред.

0

Что? Там по ссылке медианная зарплата Java и c# выше JavaScript. Какие средние зарплаты синьоров? Там даже верхние границы не соответствуют вашему заявлению. 

0

Ниже была дана расшифровка. Вы, видимо, забыли надеть очки или имели нетерпение и не сумели дочитать до выводов

0

Те вы говорите о том, что зарплаты выше потому, что в статье на хабре одна мертвая площадка заявляет о том, что зарплаты ниже, но нужно не делать из этих данных выводы, а поискать зарплаты сеньоров, где был указан typescript? Прям вспоминаются те самые железные 146% уверенности в своих данных. 

0

а откуда данные что площадка мертвая? Из тех же 146%?

0

"Сейчас на сайте 979 вакансий и 130760 резюме, в среднем 10 откликов на вакансию"

Прям внизу написано.

1

ваша 5-ая точка сейчас, возможно, рванёт на Марс, но JavaScript более ООП язык нежели эти самые Java, C# и их батя С++. Алан Кей и Smalltalk в помощь. поэтому нормальность крайне субъективна, особенно, если просто не разбираешься в предметной области

0

ваша 5-ая точка сейчас, возможно, рванёт на Марс, но JavaScript более ООП язык нежели эти самые Java, C# и их батя С++.

Не знал, что степень нормальности определяется оопностью языка. А как быть процедурным языкам? Чем Си хуже JavaScript?

Алан Кей и Smalltalk в помощь.

Вообщем-то Smalltalk class-based, а JavaScript prototype-based, но заход неплохой.

поэтому нормальность крайне субъективна, особенно, если просто не разбираешься в предметной области

Это единственное что вы правильно подметили :)

0

этот комментарий никак не камень в ваш огород :) и он именно ценен как цельный, поэтому я не разбивал его на части или абзацы.

Не знал, что степень нормальности определяется оопностью языка. А как быть процедурным языкам? Чем Си хуже JavaScript?

я попытался именно сконцентрировать внимание на то, что многие могут заплевать лицо собеседника во время холивара, яро доказывая, что ООПшнее Java или C#, даже не рассматривая то, что оба языка идеологически парадигму ООП реализуют частично. что именно в языке с динамической типизацией реализовать ОО парадигму полностью в разы проще, а то и вообще возможно.

Вообщем-то Smalltalk class-based, а JavaScript prototype-based, но заход неплохой.

на работу вы ходите в одной одежде, дома в другой, но всё равно это является одеждой, class-based и prototype-based - частным случаи ОО парадигмы. 

Это единственное что вы правильно подметили :)

я надеюсь, вы меня поняли и заметили, что не единственное :)

когда-то, лет эдак 5 назад, когда я ещё писал на C#, а потом на Java, мне было интересно, чего все так *банулись с этим ООП и решил хорошенько разобраться с этим веером парадигм и методологий, а  сопоставив для себя более лёгкие ассоциации в голове, до сих пор, если кто на собеседованиях втирает мне про крутость ООП в каких-то только определённых языках, то стараюсь включить мозг товарищу напротив подводя его под логические умозаключения. просто, это как-то глупо выглядит, как будто сравнивать 42-ой и 43-ий размеры обуви.

p.s.: 42-ой офигенный размер, всем советую :) 

0

я попытался именно сконцентрировать внимание на то, что многие могут заплевать лицо собеседника во время холивара, яро доказывая, что ООПшнее Java или C#, даже не рассматривая то, что оба языка идеологически парадигму ООП реализуют частично. что именно в языке с динамической типизацией реализовать ОО парадигму полностью в разы проще, а то и вообще возможно.

Да всем пофиг на ООП. И типизация никак не связана с реализацией. Почитайте про статический полиморфизм в C++.

на работу вы ходите в одной одежде, дома в другой, но всё равно это является одеждой, class-based и prototype-based - частным случаи ОО парадигмы.

Если приводить аналогии с одеждой, то как раз class-based могут быть домашней и рабочей одеждой, а в prototype-based одежда может быть только наследницей предка. Вот и получается домашняя пижама с карманами для молотка. Так в принципе и выглядят все проекты на JavaScript. Частный - не частный, из говна(ООП) может только получиться еще большее говно(прототипный ООП).

когда-то, лет эдак 5 назад, когда я ещё писал на C#, а потом на Java, мне было интересно, чего все так *банулись с этим ООП и решил хорошенько разобраться с этим веером парадигм и методологий

Видимо не разобрались. ООП используют только потому, что для большинства задач ничего другого не придумали.

если кто на собеседованиях втирает мне про крутость ООП в каких-то только определённых языках, то стараюсь включить мозг товарищу напротив подводя его под логические умозаключения. просто, это как-то глупо выглядит, как будто сравнивать 42-ой и 43-ий размеры обуви.

У меня для вас плохие новости. В нормальных компаниях уже давно не спрашивают про языки. Язык это инструмент, который можно освоить за день(Python, Golang, JavaScript) или за несколько месяцев(C++). Опять же, т.к. пока не придумали ничего лучше, то решили спрашивать на собеседованиях алгоритмические задачи. И часто эти алгоритмические задачи разрешают писать вообще псевдокодом.

0

ОО парадигма подразумевает, что всё есть объект, даже if и else конструкции.

да пофиг, используют или не используют ООП, назови это хоть палкой. многие думают, что знают досконально, и не подвергают эти якобы знания сомнению. а на самом деле получается, что им вбили в головы, то и транслируют потом везде и всюду. 
апосля возникают такие срачи с поливанием говна. возможно, это всё шутеечки, но я это нахожу крайне глупым.

почитайте хотя бы википедию что-ли, уж честное слово стыдно за ваши знания. а лучше почитайте Алана Кэйя, это тот чувак который ООП и придумал.

0

ООП этого не подразумевает. То о чем вы говорите относится уже к дизайну самого языка, который может использовать функции/переменные как first class citizen. C не ООП, но позволяет использовать указатель и как функцию. Становится он от этого ООП?

0

я не пытаюсь вас переубедить, и так уже наша беседа зашла слишком далеко так как мы всё же общаемся на разных "волнах", просто попробуйте взглянуть с другой стороны хотя бы на определение - https://en.wikipedia.org/wiki/Object-oriented_programming, - возможно, вы меня поймёте :) пусть каждый и останется со своим мнением   ред.

0

Да, я совершенно не понимаю как ООП может сделать из языка, который складывает строковые литералы с цифрами нормальный язык. 

–1

если вам на самом деле интересно разобраться, то я могу попытаться объяснить.

в JavaScript есть несколько так называемых "примитивных" типов, к ним как раз и относятся строки и числа, примитивные они по тому, что могут хранить только одно значение (если это строка, то только строка, если число, то только число), но они тоже являются объектами только иммутабельными. у строк и даже чисел можно вызывать методы без дополнительных обёрток как в некоторых других языках. это всё делает под "капотом" интерпретатор.

так вот, когда мы складываем строку и число, это, внезапно, не что иное как перегрузка операторов (полиморфизм, все дела). только вот JavaScript интерпретатор поверил в свои силы и предоставляет неявные правила приведения типов. 

плохо это или хорошо, это просто особенность языка, которую нужно знать. у PHP, Lua и даже Groovy есть похожие или такие же особенности, может языков с такой особенностью больше. становятся ли они все из-за этого "ненормальными"? что вообще подразумевается под "нормальностью"? лично мне JS крайне нравится, но с ним надо держать ухо востро, так как слишком много позволяет, но я ему это прощаю за его гибкость. ред.

0

в JavaScript есть несколько так называемых "примитивных" типов, к ним как раз и относятся строки и числа, примитивные они по тому, что могут хранить только одно значение (если это строка, то только строка, если число, то только число),

Примитивными называются те типы, которые язык умеет из коробки. Tuple, List, Hash/TreeTable вполне могут быть примитивныеми типами в некоторых реализациях Lisp, Python и том же JS, при этом они хранят больше одного значения.

у строк и даже чисел можно вызывать методы без дополнительных обёрток как в некоторых других языках. это всё делает под "капотом" интерпретатор.

Это называется приведение типов, а не дополнительные методы. Как это реализовано уже зависит от компилятора/интерпретатора и конечно же для некоторых типов оно может быть explicit, для некоторых implicit. Ну и мутабельность это вообще из другой оперы.

так вот, когда мы складываем строку и число, это, внезапно, не что иное как перегрузка операторов (полиморфизм, все дела). только вот JavaScript интерпретатор поверил в свои силы и предоставляет неявные правила приведения типов.

Это как раз проверка типов и наличие адекватного стандарта, где должно быть прописано, что char + int это нормально, т.к. по сути это одно и тоже. А вот char[], т.е. строка + int - уже совсем другой случай в котором невозможно прописать правила, т.к. неизвестно что к чему приводить.

плохо это или хорошо, это просто особенность языка, которую нужно знать. у PHP, Lua и даже Groovy есть похожие или такие же особенности, может языков с такой особенностью больше. становятся ли они все из-за этого "ненормальными"? что вообще подразумевается под "нормальностью"? лично мне JS крайне нравится, но с ним надо держать ухо востро, так как слишком много позволяет, но я ему это прощаю за его гибкость.

Поэтому и facebook отказался от PHP, сделав Hack. Два других используются как DSL.

0

я вам о мягком, вы мне о горячем, я вам о круглом, вы мне о красном. вы даже не пытаетесь вчитываться. читаю ваши ответы и просто постоянный фейспалм ловлю от того, что вы меня не слышите абсолютно. я вижу, что вы компетентны, так как понимаете о чём пишете, но, возможно, из-за так называемой сверхкомпетентности, а может из-за недальновидности, я не знаю, вы даже не пытаетесь критически обдумывать мои ответы, а просто агритесь. даже в прошлом комментарии я писал исключительно про JS, даже акцентировал на это внимание. увы, наша с вами полемика так и не перешла в дискуссию, посему, считаю дальнейшее обсуждение (даже хер знает можно ли это вообще обсуждением то назвать) бессмысленным.  ред.

0

https://www.youtube.com/watch?v=xE8tL8NdHaY это дикий баян, но все же. Есть ли какие-то причины иметь столько возможностей отстрелить себе ногу?

–1

https://glot.io/snippets/fh3nmzqe1h

если я работаю с каким-то языком, то я стараюсь по возможности узнать об особенностях компилятора/интерпретатора, так как в каждом какие-то да найдутся, не существует идеального языка. мне лично в каждом что-то не нравится, но если он решает какую-то предметную задачу, то какая проблема?! если вам это смущает, обходите мимо, зачем ныть?! веб без JS на текущий момент времени невозможен, так что, либо приходится адаптироваться, либо нахер с пляжа. я выбрал 1-ый вариант и неплохо себя чувствую. если у вас полыхает 5-ая точка, не пользуйтесь им, зарабатывайте на хлеб с маслом тем, что вам нравится. всё остальное я уже пояснил выше.

0

Мы опять же о том, что язык плохо спроектирован. Это не его особенности. Особенности - это, например, Монады. А то что вы приводите - косяк проектирования. Можно конечно с этим жить, но язык от этого лучше не станет. 

0

груви тоже плохо спроектирован? может кложура или даже скала?  ред.

0

если вы не знаете язык, то это сугубо ваши личные проблемы

1

Это как раз логичное поведение и не представляет особой угрозы.

Где действительно надо быть осторожным в ПО для подобного прибора, это в моментах типа 0.1 + 0.2 !== 0.3

0

В медицинском ПО не используют floatы, ровно по той же причине, что и в банках.

1

в банках float не используют?

0

Для работы с точными данными никогда не используют float, тк результат арифметических операций не предсказуем. 

0

На самом деле решение вполне логичное. Как mvp вполне подойдёт, а получив финансирование можно и научиться платы разводить и писать под микроконтроллеры. Я когда проектировал свой процессор тоже сначала писал на C++ эмулятор(тк это основной язык), а потом уже купил fpga и переписал все на verilog. 

–2

Как отец диабетика не стал читать дальше слов "по наитию". Блядь, ну хоть немного погрузитесь в тему. Извините за мат, но это же реальный пиздец.

7

Абсолютно те же эмоции. Пойду ща сыну бахну инсулинчика. 

2

Как биомед инженер, который погружался в эту проблему скажу что то что он делает это ад. В принципе FDA по этой причине и выпустила свое предупреждение https://www.fda.gov/news-events/press-announcements/fda-warns-against-use-unauthorized-devices-diabetes-management

0

Интересно, а не яваскрипт ли довел человека до диабета?

5

Ваш уровень сахара в крови: NaN ммоль/л

1

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

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

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

1

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

0

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

0

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

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

0

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

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

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

1

Менять сенсор нужно по 3 причинам:

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

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

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

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

0

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

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

0

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

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

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

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

0

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

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

0

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

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

0

Неинвазивный сенсор постоянного мониторинга? Вы про такие?

0

I never asked for this // this undefined

ну вы понели))00

0

аугументация hand-made, великолепно

0

Надеюсь никакому хакеру не захочется взломать эту систему

0
Читать все 51 комментарий
В Ozon не хотят отменять заказ и возвращать деньги за недоставленный товар при доставке из-за рубежа
Sports.ru снял документальный фильм про «Зенит»-2008

В центре внимания — «золотое поколение» футбольного клуба, завоевавшее Кубок и Суперкубок УЕФА в 2008 году.

Трейлер фильма «Зенит-2008. Победная песня»
Сделай сам: умная камера для наблюдения за питомцами

Обучаем нейросеть на котиках.

Путин объявил «нерабочими» дни с 30 октября по 7 ноября с сохранением зарплаты Статьи редакции

Регионы могут сами установить сроки — начать уже с 23 октября.

Арт-экология. Уличные тренды и успешные городские проекты

Работы уличных художников, кроме эстетической роли, способны приносить пользу экологии за счет использования современных технологий. На стенах жилых домов уже появляются граффити с поглощающим смог эффектом, а на стволах деревьев – заживляющие рисунки.

Ленд-арт объект "Рогатка желаний" на фестивале ленд-арт в Муслюмово фото: организаторы фестиваля
Делал дизайн, пока говорил по телефону: история Пола Рэнда, который создал логотипы для IBM и Стива Джобса Статьи редакции

Рисовал антифашистский журнал, работал арт-директором в Esquire и делал рекламу на азбуке Морзе.

Пол Рэнд   monitorbox
Microsoft выпустила веб-версию редактора кода VS Code Статьи редакции

Сервис работает без установки приложения или расширений для браузеров.

Retail Innovation Tech Alliance (RITA) дал старт новому отбору стартапов

Retail Innovation Tech Alliance (RITA) объявляет о шестом отборе стартапов для реализации совместных проектов с крупнейшими ритейл и технологическими корпорациями России и Казахстана.

Привитым можешь ты не быть, но гражданином быть обязан

А что такое гражданин? Отечества достойный сын! ©

Плюс ещё несколько мыслей уже лично от меня, да простит Николай Алексеевич Некрасов. Если кратко, то этот пост — небольшая личная ретроспектива распространения ковида и борьбы с ним в России.

«Мегафон» заблокировал более 1000 корпоративных сим-карт

Наша организация предоставляет услуги мониторинга транспорта.

null