Программирование в области медицины - большая

 

В этой статье я кратко опишу принципы, которые закладывались при разработке программного обеспечения 'Blood Center Manager' и 'Blood Center Manager Assistant' в данной области (далее BCM(A)). Как обычно, рисунок Рэндалла Мунро из xkcd.com объясняет сложность задачи с прекрасным чувством юмора.

В настоящее время я считаю подход, реализованный в указанных программах, хотя и приемлемым, но устаревающим. Необходимы изменения в компьютерной поддержке Службы Крови, которые должны производиться в комплексе с остальными подразделениями здравоохранения и непременно других государственных служб, о чем я кратко пишу в статье 'Quo vadis Healthcare IT?'. В ином случае, сделав дорогостоящий круг, мы неизбежно вернемся к подобным решениям, разве-что возможно перенесенным в 'WEB-облака'. В любом случае, я пока не встречал в открытом доступе детальных описаний такого объема, и надеюсь указанные документы равно как и это краткое введение будут полезны уважаемым читателям.

Иными словами, в учреждении должны быть 1-2 ключевые фигуры, имеющие право и достаточные знания принимать решения в сложных непредвиденных ситуациях. Например, в зале 20 машин для автоматического плазмафереза и в процессе работы внезапно пропадает электричество. Процедура ручного завершения донации не представляет особенной проблемы и легко может быть произведена персоналом. Ключевая фигура здесь нужна скорее для дополнительного контроля персонала и поддержания доноров в спокойном состоянии. В приложении к программному обеспечению, ключевая фигура, это например, директор Центра Крови, подтверждающий проблемные результаты тестирования продукта, которые сразу  автоматически передаются в Национальный Реестр Отстраненных Доноров (НРОД).

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

Прозрачные для персонала сетевые операции с базой данных должны позволять легко обслуживать не менее 200 доноров ежедневно, и при этом не требовать присутствия IT-персонала (системного администратора, инженеров, программистов и т.д.)

Я нередко встречал Центры Крови, обеспеченные 30 и более компьютерами и при этом, обслуживающие всего 50-60 доноров в день. IT-персонал в некоторых случаях составлял до 10 человек. На мой взгляд это расточительно при такой производительности. Программа BCMA обслуживала в среднем 200 человек, используя всего 6-7 компьютеров без привлечения IT-специалистов, моего присутствия или удаленного доступа к серверу или станциям.

Если Ваш браузер не поддерживает это видео, Вы можете загрузить его в формате MPEG-4

Программное обеспечение должно быть Активным

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

Под Активной я подразумеваю систему, которая обеспечивает максимальную автоматическую  поддержку персонала, при этом не требуя дополнительных действий. Сотрудники должны знать свое дело и не тратить время и внимание на лишние запросы данных или изучение специфики работы компьютеров, построение SQL-запросов к базе данных, и т.д. Компьютер должен автоматически вмешиваться только когда это требуется и, возможный диапазон ответных реакций сотрудника должен соответствовать его должностным обязанностям. В некоторых случаях, здесь довольно трудно соблюсти гармоничный баланс  простоты общения с программой и распределения функциональной ответственности в связке человек-машина. Возможно вам будет интересно сравнить подходы, использованные в разных версиях BCM(A). На первый взгляд они не очень заметны, но при внимательном рассмотрении вы заметите коренные отличия и поймете причину, по которой я добавил в название слово Assistant (Помощник). Кратко идея Активной программы показана в следующем видео:

Если Ваш браузер не поддерживает это видео, Вы можете загрузить его в формате MPEG-4
 

Зачастую  разработчики закладывают в программное обеспечение поддержку функций, не свойственных процессам обслуживания доноров и собранного продукта. Например, бухгалтерский учет в современной украинской программе Crystal Finance Millenium. На мой взгляд этот подход лишает программу гибкости, особенно в случае попытки применения ее в другой стране, где совсем другие правила финансового учета. Достаточно обеспечить простой интерфейс для обмена данными своей программы и сопутствующих служб. Например, в нашей стране для задач поддержки склада и бухгалтерии широко применяется программа , которая имеет в своем составе средства для обеспечения такого обмена информацией. К тому же, динамика процессов и специфика обработки информации программным обеспечением Центра Крови и бухгалтерией резко отличаются, что может приводить к конфликтным ситуациям между указанными подразделениями при совместной работе.

В этой связи, на мой взгляд необходимой функцией программы является обеспечение Активной помощи персоналу в выборе расходных материалов, непосредственно в процессе донации в каждом конкретном случае. Ведь при правильной организации дела, для некоторых доноров даже иглы должны применяться специфического типа. Компьютер должен активно помогать сотрудникам, выполняющим по-сути монотонную рутинную работу, что может приводить к ошибкам. Другой немаловажный аспект – оперативный запрет применения расходных материалов с истекшим сроком годности. Я применил такой подход в DOS-версии программы, но он использовался около одного месяца, после чего руководство Центра отказалось от применения данной функции, сославшись на то, что она отнимает у персонала много времени. Думаю всего 5-7 секунд потраченных на выбор из автоматически подготовленного списка материалов, возможных к применению для конкретного донора, в итоге как раз уменьшают общие временные затраты. Хотя бы потому, что ужесточается так необходимый контроль процесса производства. При этом, планирование необходимых закупок расходных материалов и поддержание дневного оперативного склада облегчается для бухгалтерии, т.к. данные об использованных материалах доступны сразу, исходя из оперативных потребностей  производства, а не по средне-статистическому плану руководства Центра. К сожалению, по-причине упомянутой невостребованности, я отказался развивать эту идею при разработке Windows-версии.

Система не должна быть дорогостоящей

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