Новые возможности программного обеспечения StabMed2 версий 2. 02, 2. 03, 2. 04, 2. 05, 2. 06

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

УДК612.76

Г.А. Переяслов, С.И. Лебедь

НОВЫЕ ВОЗМОЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ STABMED2 ВЕРСИЙ 2.02, 2.03, 2.04, 2.05, 2.06

Программное обеспечение StabMed2 (ПО) предназначено для проведения медицинских, психологических, психофизиологических обследований, тренинга, сеансов реабилитации и т.д. Ядро ПО представляет собой систему сбора, систематизации и хранения информации о проводимых над людьми обследованиях (тестах, сеансах тренинга и т.д.). Обследования в общем случае могут проводиться с использованием различного физиологического оборудования или без него, например психологические тесты и др.

Первая версия ПО StabMed была создана в 1996 году. Она была предназначена для работы под управлением операционной системы MS DOS, содержала в себе ряд основных стабилографических методик, реабилитационных и развивающих тренажеров. Впоследствии, по мере эксплуатации у пользователей, добавлялись новые методики, появлялись новые способы обработки сигнала, разрабатывались дополнительные сервисные возможности. В 1998 г. был предложен профессором Усачевым В.И. новый способ обработки стабилографического сигнала - анализ векторов. Он предназначался прежде всего для экспресс-оценки функционального состояния пациента. На его базе были созданы две программы - StabTest NT для допускового (предсменного, предрейсового) контроля и StabMed NT для медицинских исследований с использованием новой методики. На последней были опробованы подходы к построению архитектуры ПО, впоследствии примененные в версии StabMed2 под Windows.

В 1999 г. была начата разработка ПО StabMed2 под Windows. В нем реализовывалось большинство функций, оправдавших себя при эксплуатации версий StabMed 1.x, StabMed NT и StabTest NT. К тому же ставилась задача унификации обработки записываемых физиологических сигналов вне зависимости от методики, в рамках которой они были записаны. К тому же решался вопрос записи различных физиологических сигналов во всех пробах, в которых они могут быть записаны, т.е. создавался единый модуль записи физиологических каналов. Однако, жесткие сроки разработки не дали в полной мере осуществить унификацию принимаемых данных. Модули проведения обследований - пробы - жестко зависели от драйверов оборудования, с которым они работали. Это не давало возможности использовать в данных пробах другое оборудование, работать с другими приборами. Но до поры до времени и не было других приборов, и задача унификации оборудования не была актуальна. Впоследствии, в 1996 г. появилось очувствленное силомоментное кресло, и задача унификации стала востребована и была решена. Но об этом позже.

В 2001 г. была выпущена версия ПО StabMed 2.0 под Windows, которая начала поставляться вместе с оборудованием. Поддержка старых версий под DOS была прекращена. В ПО StabMed2 появились новые интересные методики и тренажеры: «Треугольник», «Ок-таедр», «Горнолыжный спуск», «Арканоид» и другие. Также были систематизированы экспорт данных из программы, фильтрация базы данных и другие, появились сводки показателей, работа с фрагментами сигнала и т.д., что существенно упростило обработку результатов исследований. Были разработаны богатые сервисные возможности, позволяющие пользователю настраивать ПО «под себя», сохранять результаты его работы для по-

следующего их восстановления и т.д.

В настоящее время модернизация ПО 81аЬМеЛ2 осуществляется как по прямым заявкам пользователей, так и по анализу мировых тенденций развития программного обеспечения, согласно требованиям времени, новых операционных систем и нового компьютерного оборудования, появляющегося у пользователей.

Иногда у врача возникает необходимость в сжатые сроки обследовать большое число пациентов, к примеру, для выработки групповых норм либо необходимость длительного одновременного мониторинга нескольких пациентов, к примеру - работающих сидя в очувствленных креслах. И та и другая задача подразумевают необходимость одновременного выполнения обследований над несколькими пациентами и последние версии ПО 81аЪМеЛ2 предоставляют такую возможность. Для реализации данной задачи кардинально модернизирована работа с подключаемым оборудованием, а также разработан принципиально новый тип проб - пробы с участием нескольких пациентов. Это такие пробы, которые способны одновременно записывать данные для нескольких пациентов. При включении нескольких проб с участием нескольких пациентов в одну методику 8!аЪМей2 автоматически рассчитывает максимальное число пациентов, на которое рассчитана данная методика. Таким образом происходит создание методик с участием нескольких пациентов. Принцип обследования пациентов по методике с участием нескольких пациентов очень прост - если пользователь выбирает для обследования несколько пациентов, программа автоматически предлагает ему только те методики, которые поддерживают работу с таким числом пациентов.

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

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

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

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

Тренажеры с оптокинетической стимуляцией предназначены для тренировки людей с применением активной оптической помехи. На экране совмещается процесс игры и один из режимов стимуляции: движение полос, аналогичное оптокинетическому тесту или меняющие интенсивность круги черного цвета. В данных тренажерах человек должен выполнять игровое задание на фоне возбуждающего нистагм воздействия. Это усложняет игру и является дополнительным стимулом для тренировки. Реализованы с оптокинетической стимуляцией следующие тренажеры: «Яес&», «Горнолыжный спуск» и «Арканоид».

В тренажере «Фигурки по кресту» имеется возможность тренировки отдельно по

фронтали, отдельно по сагиттали и совместная тренировка. Это может быть полезно для ряда пациентов для раздельной тренировки.

Визуализатор «Оконное FFT» для стабилографического сигнала и шестикомпонентной стабилограммы позволяет рассчитывать спектр стабилограмм «скользящим окном» (ширина окна 1024 точек). Смещение «скользящего окна» составляет 20 с (1000 точек). Рассчитывая спектр, получим несколько спектральных векторов (по 3 вектора на минуту съема), которые отображаются в виде диаграммы по осям ординат. По оси абсцисс отображено время съема в минутах (мин), по оси ординат - частота в герцах (Гц). Цветом на графике выделяется амплитуда сигнала на заданной частоте (F), в заданное время (t). По изменению цветовой картины в процессе записи можно судить об изменении сигнала во времени и соответственно процесса поддержания позы.

На визуализаторе "Диаграммы пробы Треугольник" имеются два окна статокинези-грамм с построенными в них треугольниками для этапов обучения и анализа и таблица показателей. Окно статокинезиграммы позволяет просматривать диаграммы треугольников: целевого и реального, а также статокинезиграмму на фоне диаграммы треугольников. Можно просматривать как общую статокинезиграмму для этапа с усредненным треугольником, так и каждый треугольник по отдельности. По умолчанию показан усредненный треугольник с общей диаграммой.

Визуализатор "Озвучивание СКГ" аналогичен визуализатору Аниматор. На нем имеются окно статокинезиграммы, график сигнала для индикации точки, в которой находится процесс анимации, и панель управления. Отличием является то, что в процессе анимации осуществляется озвучивание сигнала по одному из выбранных законов. Сначала необходимо настроить режим озвучивания, а затем запустить процесс озвучивания.

До последнего времени существовала возможность печатать отчеты с жестко заданной структурой. Элементы отчета (графики, диаграммы, таблицы показателей и т.д.) нельзя перемещать по печатной форме, нельзя выбирать элементы для печати из множества доступных, сочетать их друг с другом и т.д. Невозможно также писать свое заключение по результатам проведенного обследования, чтобы выводить его на печать. Также имеет место быть дублирование кода в плагинах отчетов для различных тестов, при необходимости прорисовки одинаковых объектов (графиков и т.д.). Конструктор печатных отчетов позволяет пользователю для каждой методики создавать и изменять формы отчетов, причем для каждой методики может быть создано несколько форм отчетов. Также он предоставляет возможность писать свое заключение по результатам проведенного обследования, это заключение сохраняется для данного обследования и выводиться с соответствующей формой отчета.

Конструктор печатных отчетов позволяет следующее:

• Печатать отчет по выбранной методике с помощью одного или нескольких шаблонов.

• Формировать шаблон отчета для выбранной методики, сохранять его и использовать для печати отчетов по данной методике.

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

• Представление данных в элементе настраивается (масштабирование и центрирование графиков, цвета различных элементов и т.д.).

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

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

В §1аЬМеЛ2 реализован механизм управления возможностями приложения, реализованный в виде версий приложения по сложности. ПО StabMed 2 имеет четыре версии, различающиеся по сложности и возможностям. Цели разбиения следующие:

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

• Минимизация вероятности ошибочных действий пользователей при работе с ПО.

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

• Обеспечение гибкости ценообразования выпускаемых изделий.

В ПО имеются следующие версии:

• Минимальная.

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

• Компактная.

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

• Базовая.

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

• Профессиональная.

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

Разбиение ПО на версии по сложности имеет следующие преимущества:

• Для пользователя:

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

2) позволяет минимизировать ошибки, связанные с непониманием выполняемых действий, когда хочется «побродить» по настройкам, что-то там поменять, но нет полного понимания, что каждая настройка означает;

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

• Для разработчика:

1) позволяет проводить более гибкую маркетинговую политику, появляется дополнительная возможность для скидок и т.д:

2) минимизация рекламационных обращений от пользователей, связанных с проблемами, вызванными их некорректными действиями;

3) дополнительная причина необходимости вести более строгий учет пользователей.

Работа с подключенным оборудованием в StabMed2 основана на так называемых под-

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

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

Имеется возможность создавать подключения для драйверов следующих устройств:

• Стабилоанализатор - поддерживает протоколы стабилографии, миографии, силометрии, дыхания, пульса.

• Очувствленное кресло - поддерживает протоколы шестикомпонентной стабилографии, стабилографии.

• Миомонитор - поддерживает протоколы миографии.

В окне программы «Управление оборудованием» имеется таблица созданных подключений и панель управления. В таблице имеется поле "Активность", с помощью которого можно временно включать или выключать подключения. Подключения, имеющиеся в таблице, характеризуются приоритетом. Чем ближе к началу таблицы находится подключение, тем выше у него приоритет.

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

Внешняя синхронизация StabMed2 предназначена для осуществления связи между ним и другими программными и/или аппаратными средствами. Исходящая синхронизация предназначена для оповещения сторонних программ о событиях, происходящих в StabMed2 для выполнения ими каких-либо действий в момент наступления этих событий. Входящая синхронизация StabMed2 позволяет выполнить определенные действия при наступлении внешних событий в сторонних программах или программно-аппаратных комплексах.

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

Типы синхронизации различаются по направлению (входящая, исходящая) и реализации (программная, аппаратная).

При исходящей синхронизации StabMed2 посылает команды, а сторонняя программа или устройство эти программы могут воспринимать и обрабатывать.

При входящей синхронизации команды посылаются сторонними программами или устройствами, а StabMed2 их принимает и выполняет определенные действия.

Программная синхронизация осуществляется только с использованием программных средств и/или аппаратных средств компьютера, локальной сети.

Аппаратная синхронизация осуществляется с использованием аппаратной части программно-аппаратных комплексов, физиологических устройств и т.д.

В процессе работы врача с базой данных происходит неизбежное увеличение числа записей в ней. В первую очередь это касается таблиц пациентов и таблиц обследований па-

циентов, но если врач решает исследовательские задачи, то неизбежно увеличение и таблицы методик. По мере того, как это происходит, усиливается актуальность задачи фильтрации базы данных, чтобы врач мог временно убрать из поля зрения не интересующую его в данный момент информацию и сосредоточиться на главном. В настоящий момент в ПО StabMed2 реализованы весьма широкие возможности фильтрации таблиц пациентов, обследований и методик. Фильтр таблицы пациентов позволяет указать диапазон возрастов пациентов, выбрать пациентов, принадлежащих определённой группе, либо указать интересующих врача пациентов поимённо. Упомянутое понятие "группы пациентов" введено, чтобы объединять пациентов по произвольному признаку, причём набор этих признаков не ограничен. Врач имеет также возможность также оперативно подключать и отключать интересующие его методики. Используя фильтры по пациентам и методикам, можно легко фильтровать не только соответствующие таблицы, но также и таблицу обследований, чтобы увидеть, к примеру, все обследования по тесту Ромберга пациентов возраста от 40 до 50 лет с диагнозом "инсульт". Однако реализованы и дополнительные возможности фильтрации таблицы обследований - можно использовать интервал дат, интервал времени суток, а также выбрать условие проведения обследований.

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

• нарушения в работе оборудования компьютера;

• отсутствие ресурсов компьютера;

• неверное конфигурирование оборудования, операционной системы или драйверов оборудования;

• конфликты между различными программами;

• комбинации входных данных, которые не были корректно обработаны программой;

• ошибки в программном обеспечении.

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

Это позволяет реализовать подсистема логирования ошибок в приложении, встроенная в ПО StabMed2. Она имеет следующие возможности:

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

• Пересылать данный отчет разработчику с использованием почтового агента по умолчанию или своими встроенными средствами.

• Сохранять данный отчет на диске для последующей пересылки.

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

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