продвинутых моделях.
После миграции производилась автоматическая установка драйверов под новую прошивку искина, превращающую его в специализированный медицинский элемент структуры комплекса. На последнем этапе предлагалось провести физическую замену искинов, снять оригинальный и на его место установить новый.
В итоге общий процесс работы алгоритма по переходу в однопользовательский режим у меня выходил такой.
Первое. Его я скомпоновал в отдельную надстройку, которую требовалось установить в существующую прошивку комплекса.
Второе. Дальше появлялся дополнительный режим работы оператора – «однопользовательский», который или регистрировал нового оператора, или работал с уже прошитыми в него индивидуальными настройками.
Третье. На следующем шаге, если мощностей медкомплекса было достаточно или он был вполне современным, никаких иных манипуляций проводить с ним не требовалось.
Четвертое. Но если это была какая-то устаревшая или не слишком мощная (бюджетная) модель, то оператору предлагался выбор. Или отключить функции, несовместимые с данной моделью медкомплекса, или произвести его модернизацию в соответствии с предложенными рекомендациями.
Пятое. Эти же рекомендация я вынес и в главное меню, давая возможность хотя бы примерно оценить оператору текущую производительность работы медкомплекса и его будущую производительность, которую он получит после замены искина.
Шестое. Ну и при выборе модернизации, оператору предлагался или небольшой программный разгон, или аппаратный, с подобной инструкцией по пошаговой замене искина.
Седьмое. Саму процедуру миграции я просто вшил в последний пункт, обозначенный кнопкой «Запустить», после выбора которого она стартовала автоматически.
Восьмое. Последним шагом я производил привязку модуля к аппаратной части, чтобы этот же модуль не было возможности раскатить на несколько комплексов. А инсталляционный пакет затирался самостоятельно изнутри системы.
С искина повторную установку выполнить уже было невозможно. А инсталлятор для повторной установки не годился, так как по мере передачи данных он безвозвратно саморазрушался, по принципу войсковых баз знаний.
Почему не воспользоваться хорошей идеей?
Еще раз, оценив на виртуальной модели работу всех компонентов модуля, я решил не полениться и провести еще один эксперимент, но уже на полностью готовом продукте со всеми его составными частями.
Транс. Выход.
После этого я специально прошёл в соседний отсек и подключил к медбоксу его старый искин. А затем запустил комплекс именно с него.
Следом я провел установку своего универсального программного обновления для медицинского оборудования. Перешёл в однопользовательский режим. И начал выбирать соответственно все доступные пункты меню.
Так. Основной функционал работает, как и раньше, до смены искина. Все остальные опции обрезаны. Вижу пояснение, говорящее о том, что для полнофункциональной работы не хватает мощностей основного искина.
Провожу небольшую программную оптимизацию. Теперь открыт доступ к еще нескольким спецоперациям, но все равно основная часть функционала закрыта от пользователя.
Дальше. Переход к самому главному и интересному.
Шаг по подключению искина пропускаю. Он уже установлен.
Миграция и обновление драйверов.
Перезапуск медицинского комплекса и его старт с нового искина.
Доступны все реализованные функции.
И, не знаю, кажется мне это или нет, но, по-моему, даже на дорогущем комплексе Талии этот функционал работает значительно медленнее.
Отклик системы идеален. Нет задержек или подвисаний. Все работает превосходно. Что и требовалось.
Так и непонятно, почему такой простой алгоритм и до сих пор не реализован? Даже в будущем он будет жёстко привязан к аппаратной части оборудования. Но это так, мелочи.
Теперь патентуем его и помещаем объявление в сети.
Счет. Транс.
Стоимость сделал в целом небольшой относительно цены покупки нового комплекса и уж тем более мизерной по отношению к найму полного штата, обслуживающих подобные комплексы или боксы специалистов. Всего двадцать тысяч кредитов.