Построение программ в области медицины

 

У цій статті я коротко опишу принципи, які закладалися при розробці програмного забезпечення '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 чоловік. На мій погляд це марнотратно при такій продуктивності. Програма обслуговувала в середньому 200 чоловік, використовуючи всього 6-7 комп'ютерів без залучення IT-фахівців, моєї присутності або віддаленого доступу до сервера або станціям.

Якщо Ваш браузер не підтримує цей файл, Ви можете завантажити його у форматі MPEG-4

Програмне забезпечення повинно бути Активним

На жаль, і в даний час Пасивні програми, які FDA називає 'ящик з файлами' не рідкість в цій справі. По суті, кінцевою функцією подібних програм є виробництво документів звітності і їх, при бажанні, можна замінити звичайними електронними таблицями (наприклад, Excell).

Під Активної я маю на увазі систему, яка забезпечує максимальну автоматичну підтримку персоналу, при цьому не вимагаючи додаткових дій. Співробітники повинні знати свою справу і не витрачати час і увагу на зайві запити даних або вивчення специфіки роботи комп'ютерів. Комп'ютер повинен автоматично втручатися тільки коли це потрібно і, можливий діапазон відповідних реакцій співробітника повинен відповідати його посадовим обов'язкам. У деяких випадках, тут досить важко дотримати гармонійний баланс простоти спілкування з програмою і розподілу функціональної відповідальності у зв'язці людина-машина. Можливо вам буде цікаво порівняти підходи, використані в різних версіях BCM(A). На перший погляд вони не дуже помітні, але при уважному розгляді ви помітите корінні відмінності і зрозумієте причину, по якій я додав до назви слово Assistant (Помічник). Коротко ідея Активної програми показана в наступному відео:

Якщо Ваш браузер не підтримує цей файл, Ви можете завантажити його у форматі MPEG-4
 

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

У цьому зв'язку, на мій погляд необхідною функцією програми є забезпечення Активної допомоги персоналу у виборі витратних матеріалів безпосередньо в процесі донації в кожному конкретному випадку. Адже при правильній організації справи, для деяких донорів навіть голки повинні застосовуватися специфічного типу і комп'ютер повинен активно допомагати працівникам, що виконують по-суті монотонну рутинну роботу, що може призводити до помилок. Інший важливий аспект - оперативна заборона застосування витратних матеріалів з вичерпаним терміном придатності. Я застосував такий підхід в DOS-версії програмі, але він використовувався близько одного місяця, після чого керівництво Центру відмовилося від застосування даної функції, пославшись на те, що вона забирає у персоналу багато часу. Думаю всього 5-7 секунд витрачених на вибір з автоматично підготовленого списку матеріалів, можливіх до застосування для конкретного донора, в підсумку якраз зменшують загальні часові витрати. Хоча б тому, що посилюється так необхідний контроль процесу виробництва. При цьому, планування необхідних закупівель витратних матеріалів і підтримання денного оперативного складу полегшується для бухгалтерії, тому що дані про використані матеріали доступні відразу, виходячи з оперативних потреб виробництва, а не по середньо-статистичному планом керівництва Центру. На жаль, по-причині згаданої незатребуваності, я відмовився розвивати цю ідею при розробці Windows-версії.

Система не повинна бути дорогою

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