Ранний доступ · курсы проходят проверку инженерами-практиками
Service EngineerAcademy
01Урок 1 / 8 · 22 min

Метод Уровня 2 для медицинских ИТ: журналы, воспроизведение, захват трафика и зоны ответственности

Собрать и сопоставить журналы аппарата, PACS и рабочей станции, воспроизвести сбой передачи на тестовом объекте, решить, когда оправдан короткий захват трафика, и понимать, какие изменения делаете вы, а какие — другой владелец системы.

Где заканчивается общий курс

В курсе «DICOM, PACS и сети для сервисного инженера» вы разобрали карту цепочки изображений, три параметра, которые определяют DICOM-узел, основные службы, проверку снизу вверх от линка до тестового исследования и базовый ввод в работу. Этот метод закрывает большинство вызовов: неверный IP-адрес, узел, которого нет в списке PACS, правило межсетевого экрана, переполненный локальный диск. Этот курс — о вызовах, которые остаются после него. Эхо проходит, порт открыт, тестовое исследование доходит, а врач всё равно говорит, что раз в несколько дней пропадает одна серия, или исследование оказалось у другого пациента, или консоль каждый день после обеда начинает тормозить.

У таких неисправностей две общие черты. Они живут между системами, поэтому ни один журнал не показывает всю картину. И они часто плавающие или условные: один тип объекта, одно направление, одно время суток, один размер исследования. Поэтому метод Уровня 2 — это работа с доказательствами. Вы собираете их со всех сторон за одну и ту же минуту, намеренно воспроизводите условие, а когда журналов не хватает, смотрите на сам трафик. Только после этого что-то меняете, и только в системе, которую вам разрешено менять.

Журналы с трёх сторон, выровненные по времени

Каждая система в цепочке что-то записывает. У консоли аппарата обычно есть очередь отправки или список заданий со статусом по каждому исследованию и журнал приложения или DICOM, который может прочитать сервисный инженер. PACS ведёт журнал ассоциаций: кто звонил, с каким вызывающим и вызываемым AE Title, что было предложено, что принято, сколько объектов получено и с каким статусом. У рабочей станции или просмотрщика свой журнал импорта и своя база. РИС или интеграционный движок пишет запросы worklist и сообщения HL7. Что-то из этого видно вам, что-то — только администратору PACS или вендору. Просите: чтобы получить строки журнала за конкретную минуту, не нужно быть владельцем системы.

Сложнее всего выровнять журналы между собой. Прежде чем что-то сравнивать, проверьте часы. Консоль, которая спешит на четыре минуты, и PACS, синхронизированный с сервером времени больницы, превратят одну чистую ассоциацию в два не связанных события. Если сегодня поправить часы нельзя, запишите расхождение. Затем возьмите одно неудачное исследование и пройдите его путь: когда оно встало в очередь, когда открылась ассоциация, какие контексты представления приняты, какой статус вернулся на каждый объект, когда ассоциация закрылась и что принимающая сторона записала за ту же минуту. Два журнала, которые совпадают до какого-то места и потом расходятся, показывают, где разрыв.

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

  • Аппарат: очередь отправки со статусами заданий, журнал DICOM или сети, состояние локальной базы, свободное место на диске.
  • PACS или архив: журнал ассоциаций по вызывающему AE Title за нужную минуту, полученные объекты, отказы с причиной.
  • Рабочая станция или просмотрщик: журнал импорта, база, правила маршрутизации и автозагрузки, состояние лицензий и сертификатов.
  • РИС, брокер или интеграционный движок: запросы и ответы worklist, сообщения HL7 по направлению и пациенту.
  • Сеть: состояние порта коммутатора и счётчики ошибок, записи журнала межсетевого экрана по двум адресам — через ИТ.

Опишите неисправность как условие и воспроизведите её

Неисправность Уровня 2 редко звучит как «передача не работает». Она звучит так: «большие КТ-серии обрываются после нескольких сотен снимков», «кинопетли отклоняются, статичные снимки доходят», «первое исследование утром всегда опаздывает», «не уходят только исследования второго лаборанта». Превратите жалобу в условие с как можно большим числом параметров: тип объекта, размер, направление, время, пользователь, протокол, маршрут. Параметры, от которых меняется результат, и есть подсказки.

Затем воспроизведите условие на тестовом объекте, который вы контролируете. Используйте вымышленного тестового пациента, согласованного с отделением, и никогда не пересылайте исследование реального пациента «посмотреть, что будет». Отправьте один маленький снимок, затем полную серию того же типа, затем объект другого типа на тот же адрес. Отправьте то же исследование на второй адрес. Каждый результат убирает подозреваемых. Если маленький снимок проходит, а большая серия нет, смотрите тайм-ауты, место на диске, размер PDU и сетевой путь под нагрузкой. Если один тип объекта не проходит никуда, смотрите SOP-классы и синтаксисы передачи. Если всё не проходит только на один адрес, подозревается он сам или путь к нему.

Подмена — самый сильный инструмент инженера Уровня 2. Сервисный ноутбук с простым известным DICOM-приёмником или отправителем, настроенный с теми же AE Title, портом и адресами, что и подозрительный узел, показывает, идёт ли неисправность за узлом или за путём. Подключите ноутбук в ту же розетку, что и аппарат, и отправьте в PACS: если проходит, сетевой путь и PACS для этого объекта в порядке. Направьте аппарат на ноутбук: если ноутбук принимает чисто, отправляющая сторона аппарата в порядке. Ничего не устанавливайте для этого на само медицинское изделие: ваш прибор — ноутбук.

Когда и как захватывать трафик

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

Захват в больничной сети содержит персональные данные пациентов в открытом виде, если канал не защищён TLS. Обращайтесь с ним как с медицинским документом. Согласуйте захват письменно с ИТ больницы, ловите только два нужных адреса, минуты, а не часы, храните файл зашифрованным на своём устройстве, передавайте только по утверждённым каналам и удаляйте после закрытия случая, как договорились с ИТ. Самая простая законная точка захвата — ваш собственный сервисный ноутбук: как подменный отправитель или приёмник либо подключённый к зеркальному порту, который ИТ настроит на коммутаторе. Не устанавливайте сами анализатор трафика на консоль аппарата или сервер PACS.

Распространённые анализаторы разбирают DICOM-трафик и показывают запрос ассоциации с вызывающим и вызываемым AE Title, предложенные контексты представления, принятие или отказ и каждую команду со статусом. Если DICOM-порт нестандартный, анализатору, возможно, придётся явно указать, что этот порт нужно декодировать как DICOM. Сначала отфильтруйте по двум IP-адресам. Смотрите начало ассоциации и её конец: большинство ответов — в первых и последних пакетах. Как их читать, разбирается в уроке 2.

Что вам можно менять и кто чем владеет

На Уровне 2 вы часто будете точно знать, что не так в системе, которая вам не принадлежит: правило пересылки в PACS, правило межсетевого экрана, сопоставление в РИС, дубль пациента. Знать — не значит иметь право. Общий курс нарисовал карту зон ответственности; правило из неё такое. Вы меняете аппарат и оборудование по своему договору, в рамках процедуры производителя для вашего уровня, сохранив текущую конфигурацию. Всё остальное вы запрашиваете у владельца — письменно, с приложенными доказательствами.

Некоторые действия не являются сервисной работой, чья бы ни была система: исправление демографических данных пациента, перенос снимков между пациентами или исследованиями, слияние или удаление записей пациентов, удаление исследований из архива, изменение политики сжатия или хранения, отключение защитного ПО или проверки сертификатов. Это делает уполномоченный персонал по процедурам больницы, потому что у этих действий клинические и юридические последствия. Ваша часть — показать, что не так, объяснить риск и обеспечить, чтобы инструменты работали.

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

Записывайте по ходу работы

О неисправностях медицинских ИТ спорят, часто три компании сразу. Записи, сделанные в моменте, закрывают спор: время каждой проверки, её точный результат, версия каждого ПО, конфигурация до и после каждого изменения и кто его согласовал. Ведите на объекте простой рабочий журнал. Он станет основой отчёта из урока 8 и защитит вас, когда кто-то потом скажет, что неисправность появилась после вашего визита.

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

  • Время и расхождение часов каждой системы.
  • Версии ПО аппарата, PACS, просмотрщика и РИС.
  • Каждая проверка: что отправлено, откуда, куда, результат и статус.
  • Каждое изменение: старое значение, новое, кто согласовал, результат.
Алгоритм поиска неисправностиПервый час на сбое передачи, который базовые проверки не объяснили
Эхо и тестовый снимокпроходят, но частьисследований всё равнопропадает или доходит неполностью.Очереди и журналыобеих сторон сохраненыдо повторов?1НетВыгрузите или сфотографируйтесейчас; не перезагружайте и нечистите очередь.ДаЧасы аппарата, PACS ипросмотрщикасовпадают?2НетЗапишите расхождение; исправляйтечерез сервер времени вместе с ИТ.ДаНеисправность описанакак условие (тип,размер, маршрут,время)?3НетЗадайте больше вопросов; соберитенесколько сбойных исследований исравните.ДаВымышленное тестовоеисследованиевоспроизводит условие?4НетМеняйте размер, тип объекта и адрес,пока не воспроизведётся;записывайте.ДаПодменный ноутбук натом же пути ведёт себятак же?5НетНеисправность идёт за узлом, а не запутём: ищите внутри этой системы.ДаОба журнала сходятся втом, что отправлено иполучено?6НетСогласуйте короткий разрешённыйзахват, чтобы увидеть, что прошло посети.ДаДоказательства указывают наодну систему: устраняйте, еслиона ваша, или передайте пакетвладельцу.
Тренажёр: пройдите алгоритмОтвечайте на каждую проверку так, будто вы у аппарата. Алгоритм приведёт к причине.
из практики

Пинг, порт и эхо в порядке, а в PACS пусто

КТ Toshiba Aquilion 16 перестал отправлять исследования в PACS больницы — сервер на ПО на базе eFilm. Утром всё работало. Инженер начал с очевидного: пинг с КТ до сервера проходил, telnet на DICOM-порт подключался, DICOM-эхо с консоли КТ проходило. Сама консоль была исправна, если не считать диска, забытого в DVD-приводе. Коллега предложил решающую проверку: отправить то же исследование с КТ на другой DICOM-адрес, в данном случае на станцию постобработки. Эта отправка прошла. Значит, неисправность шла за принимающим сервером, а не за КТ или сетью. Подозрение пало на ПО сервера, возможно после обновления операционной системы на нём, но точная причина так и не подтвердилась; на объекте решили поднять второй, независимый DICOM-приёмник.

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

Из практики сервиса

Ноутбук, который отделил клиент от сервера

Врачебная рабочая станция с PACS-клиентом eFilm постоянно не могла загрузить исследования, и инженер уже собирался переустанавливать клиент, с версии 4.2.3 на более старую 3.4. Перед удалением он переписал все DICOM-настройки клиента. Коллега предложил сначала проверку подешевле: поставить на ноутбук простой бесплатный DICOM-клиент, ввести те же AE Title, порт и данные сервера и подключить его к PACS. Если ноутбук работает, неисправность в клиенте станции; если отказывает так же, виноват сервер или его настройки. Коллега также предупредил, что после удаления клиент оставляет много мусора в реестре, поэтому чистая запись настроек была важна.

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

Из практики сервиса

Выкидывает каждые десять минут

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

Регулярный, повторяемый симптом — это условие, которое надо объяснить, а не неисправность, которую надо залатать. Спросите кто, где и когда, прежде чем менять настройки.

Чек-лист на объекте

  • Сохраните очереди и журналы со всех сторон до повторов и перезагрузок.
  • Запишите расхождение часов, прежде чем сравнивать время событий.
  • Опишите неисправность как условие: тип объекта, размер, адрес, время, пользователь.
  • Воспроизводите на вымышленном тестовом пациенте, никогда на реальном исследовании.
  • Используйте сервисный ноутбук как подменный отправитель или приёмник.
  • Захватывайте трафик только с письменного разрешения ИТ, коротко, и удаляйте после.
  • Меняйте только свои системы, по одному изменению, записывая старые значения.

Проверьте себя

1. В журнале аппарата исследование отправлено в 09:12, а в журнале PACS нет ассоциации от этого AE Title между 09:10 и 09:15. Что проверить, прежде чем решить, что исследование не дошло?
2. Маленький тестовый снимок каждый раз доходит до PACS, а полные КТ-серии обрываются после нескольких сотен снимков. К какой группе подозреваемых это вас ведёт?
3. Какая одна проверка лучше всего показывает, идёт ли неисправность за КТ или за сетевым путём?
4. Вендор PACS говорит, что ассоциация к ним не приходила; журнал аппарата говорит, что ассоциацию отклонили. Какой следующий шаг оправдан?
5. Вы нашли в PACS дубль пациента, который объясняет пропавшие снимки. Что вы делаете?
Следующий урок →