![](https://habrastorage.org/webt/qd/ah/ni/qdahnidm_ryfejatm7jsc3w41gy.jpeg)
На многих опасных производствах должен быть врач. Или, чтобы отправить водителя автобуса в рейс, нужно показаться врачу на автовокзале. Или, чтобы пилот смог вылететь в рейс, надо пройти целую комиссию. Чтобы диспетчер атомной станции вышел на смену, надо убедиться, что он не под наркотиками, не в тяжелейшем похмелье и не навеселе. И так далее.
На многих заводах эти правила касаются рядовых сотрудников. Их много. Но их осмотр проще, чем у пилота или диспетчера АЭС. У них можно измерить температуру, давление, пульс, оксигенацию (уровень кислорода в крови), базовые рефлексы, уровень алкоголя. Где-то нормативы запрещают роботам диагностировать этот комплекс параметров, а где-то разрешают измерять, но их замер должен быть заверен врачом. То есть живой человек из процесса не исключается, но его работа может быть очень сильно автоматизирована.
Мы собрали комплекс сбора всех этих показателей так, чтобы утром, когда настоящие сварщики приходят на работу, им не приходилось стоять в очереди.
Но дьявол, конечно, — в деталях. Хотя после тестов алкотестера нас мало что беспокоит в этом бренном мире.
Что такое комплекс функциональной диагностики?
Это Linux-машина, к которой подключены разные медицинские датчики. Поверх ОС в терминальном режиме установлен прикладной софт, который умеет аутентифицировать пациентов по карте, пальцу, лицу или глазу, прогонять их по тестам и заносить результаты в базу данных. Также результаты можно печатать. База данных может находиться как внутри самого устройства, так и в HR-системе организации или на третьем сервере. Часто комплекс функциональной диагностики совмещается с другими подсистемами компании — например, если пациент «не аллё» по алкотестеру, то его забирает отсыпаться заботливая охрана. Или он не может потом авторизоваться на рабочем месте без такой проверки. Или не может пройти через турникет.
Выглядит он так:
![](https://habrastorage.org/webt/n5/i6/xl/n5i6xldcyx9wgdiuacjg_wp39qm.png)
В базовой конфигурации это корпус, антивандальный ПАВ-тачскрин (стекло 16 мм), принтер для результатов, камера для связи с врачом или контроля того, что пациент не поменялся после аутентификации. Из датчиков по умолчанию поставляются измеритель пульса и уровня кислорода в крови по пальцу на просвет, автоматический измеритель давления (шина для руки), алкотестер. В расширенной конфигурации добавляются пупиллометр (определяет адекватность и усталость, я о нем подробно рассказывал здесь), бесконтактный термометр, весы и любые другие датчики: можно поставить глюкометр, контактный термометр и так далее. Например, в США очень популярны индексы массы тела — это что-то вроде омметра.
Всё то, с чего можно снять данные, может быть подключено к терминалу. Надо будет поставить автодоктора Братства Стали — поставим, только опишите его API и дайте один на тесты.
![](https://habrastorage.org/webt/vn/kq/m_/vnkqm_dpzzo48iuttxbbcckg4vo.png)
Первые три датчика включены в базовую конфигурацию, весы — опционально
Естественно, если каждый датчик в отдельности работает нормально, то это не значит, что вместе они будут работать хорошо.
Базовые датчики
Алкотестер — это устройство, состоящее из сенсора этилового спирта, а точнее, его паров в воздухе, и связки с системой контроля доступа. Если пациент в порядке, то турникет открывается. Если в крови обнаружен алкоголь — сообщение охране, и турникет не открывается.
Установка такого терминала даже в турникет не отменяет медицинского персонала на предприятии, но позволяет существенно сократить нагрузку на него. И снижает влияние человеческого фактора на объективность показаний — это когда «добрая» охрана пропускает «хороших» рабочих.
![](https://habrastorage.org/webt/zl/or/dl/zlordlh50v2dm9_h3n7g0wqvl58.png)
Настенная версия терминала с алкотестером и аутентификацией по лицу и карте
Датчик оксигенации (пульсоксиметр) необходим для измерения пульса и уровня насыщения крови кислородом. Для чего это нужно? Если пациент прихворнул, то изменения видны по давлению и пульсу. Обычно. Но есть ряд случаев, когда пульсоксиметр позволяет получить диагноз раньше. Приступ астмы, отравление углекислотой или рядом газов, предынфарктное состояние — всё это можно определить.
Дополнительные датчики
Тепловизор знаком всем, и на его базе мы решили делать бесконтактный термометр. Почему? Потому как мы знаем, что многие страны на карантинном контроле смотрят в поток прибывающих гостей страны с самолёта как раз через тепловизор. Некоторых берут ещё тёпленькими.
Температуру решили измерять по лбу, потому что его легко найти и легко предъявить. Прямо над тем местом, где надо дышать, стоит точечный датчик температуры (это что-то типа однопиксельного тепловизора). Наш тестер довольно быстро научился обманывать терминал, растирая лоб перед измерением: терминал сразу бил тревогу и предлагал вызвать неотложку, команду карантинного контроля и отряд зачистки.
Про пупиллометр: если очень коротко — он измеряет время реакции зрачка на свет определённой волны, что позволяет пробросить пинг до одного из нервных центров в мозгу. Вспышка — затем замер времени ответа. По скорости прибытия пакета можно установить примерное состояние нервной системы. Конкретно — нет ли каких-то замедлителей или диких ускорителей по дороге. Обычно это болезни, алкоголь, наркотики, медикаменты, усталость, сонливость или психиатрический диагноз.
Тесты
На производстве, где шла вторая ветка тестов, возникла другая проблема: мы не думали, что человеческий организм можно охладить так сильно. То есть рабочие на химпроизводстве за полярным кругом, приходя с улицы, показывали на коже температуру, заметно выходившую за параметры, которые мы тут, изнеженные Москвой, считали нормальными.
Поскольку примерно похожим образом обманывается и контактный термометр, то всё равно нужна хотя бы злая медсестра, которая следит за пациентом. Предполагается, что врач нормализует пациентов перед измерением, то есть не даёт прикладываться лбом сразу с мороза и следит, чтобы они там не химичили. Поскольку в этом проекте мы не делаем полностью автономную систему, а автоматизируем работу врача (он подтверждает результаты и осматривает слизистые), то это нормально.
Дальше пошли тесты пупиллометра и алкотестера.
Тестеры предложили нам такую идею: разрешить им пить на работе. И взялись тестировать другие применения. То есть сутки без сна пару раз, энергетики, проверить внезапную ударную дозу алкоголя и так далее. Потом они взяли его на музыкальный фестиваль, чем обогатили исследования. Даже в сильно изменённых состояниях сознания тестеры находили новые и новые способы обмануть систему.
Мы все эти уязвимости последовательно закрывали. В частности, особенно крутой историей был смачный вдох воздуха из алкотестера. Даже если ты пьян в стельку, то прошлое поколение устройств говорило, что ты «стёкл как трезвышко». В новом поколении появился контроль направления потока воздуха.
Вот что нам принёс с производства охранник, контролирующий осмотр:
Есть несколько решений, кроме охранника: изменение контура лица на видео, сверка исследований по истории (обычно сначала дышат так, потом приходят с грушей), плюс охрана сама выделяет особо злостных и просматривает по ним видео.
Софт
Дальше, собственно, было не так феерично. Неделя сношения с принтером, чтобы он печатал сразу и в руки пациенту, а если не может — уничтожал задание на печать. Потом долгая интеграция со СКУДами, чтобы шла информация фельдшеру. Протестировали видеосвязь (в серию не пошло) — ну да, можно телемедицину, но потребности нет. Сейчас просто пишем на видео процесс обследования. Врачам часто нужны нетривиальные вещи. Хорошо хоть тут цвет крови точный не требовали (это очень важно хирургам при теледоступе).
Проверили аутентификацию по радужке: её и так фотографирует пупиллометр, но тестов с вырезанными глазами тоже не было. Не повезло.
Потом —долгая история с хранением ПД: у нас есть целый отдел, который умеет делать безопасное хранилище как в одном терминале, так и в рамках системы. Ясное дело, жёсткие требования ИБ нам работы не уменьшили.
Сделали веб-доступ к серверу:
![](https://habrastorage.org/webt/ib/yf/d_/ibyfd_pd9wnynr9y__wq2tysnyi.png)
Можно посмотреть результаты пройденных пользователями обследований, выделить всех по одному или выбрать ТОП-10 алкоголиков завода. Настроить рассылку различных почтовых уведомлений заинтересованным лицам при критических отклонениях медицинских показаний пользователя от нормы. Построить отчёты по обследованиям, пройденным за какой-либо период/на определенных терминалах/определёнными пользователями.
Итог
Итог — готовый терминал.
Медицинский терминал — например, это Intel Celeron G1620 @ 2.70GHz, 2 GB RAM, 60 GB SSD, ОС Linux. Серверы Intel Xeon E5620 @ 2.40GHz, 16 GB RAM, 2 TB HHD. Терминалы комплектуются внутренним ИБП, вандалоустойчивыми экраном и корпусом, бесконтактным считывателем карт доступа для идентификации обследуемых, принтером.
![](https://habrastorage.org/webt/n1/aj/b5/n1ajb5l1lhmyzq1etrl7m3dmwcq.png)
Полный сеанс обследования — 3 минуты (при дополнительных датчиках — больше).
Врачи заключили, что медицинский терминал позволяет оперативно выявлять у обследуемых признаки гипертонического криза, угрожающего развитием инфаркта миокарда и инсульта, нарушения ритма сердечных сокращений, сопровождающегося увеличением частоты пульса (тахикардия) или его уменьшением (брадикардия), лихорадочных состояний: проявления острых инфекций (ОРВИ, гриппа), алкогольного опьянения. Куда уж без него на заводе.
В общем, получается настоящий «конструктор», из которого можно собрать удобный и функциональный комплекс экспресс-диагностики. Даже корпус можно выбрать любой.
Пилотное внедрение полного комплекса было на федеральной энергокомпании. Медицинские терминалы используются для ежедневных осмотров сотрудников, заступающих на смену. Идентификация сотрудника проходит в три этапа: с использованием индивидуального USB-ключа, фотораспознавания и снятия отпечатка пальца. Комплексная диагностика включает в себя замер кровяного давления, частоты пульса и пробу дыхания на содержание паров алкоголя.
По итогам другого внедрения заказчик отметил, что «использование терминалов для ежедневных предсменных осмотров помогает снизить риски производственного травматизма и аварий, а также укрепить дисциплину в коллективе».
На некоторых предприятиях внедрили систему «Единая точка прохода». Терминалы, установленные на проходных, используются для обследования сотрудников перед сменой и после неё. Это эволюция настенной версии, которая ставится в турникеты. Работяга не может зайти на родной завод, если не обнимется с терминалом. 12 секунд — пошёл дальше, а в базу упала запись о времени прохода, с авторизацией и статусом осмотра — в базу медицинского наблюдения.
У нас было внедрение на 15 тысяч пользователей, 12 тысяч проходов через турникет в день. За полтора года были обнаружены 1 223 сотрудника в состоянии алкогольного опьянения.
Ссылки
- Пупиллометр
- Моя почта — medkiosk_info@croc.ru