Эксплуатация программного обеспечения Solomon
На этой странице
Документ описывает порядок эксплуатации медицинской информационной системы Solomon: резервное копирование и восстановление данных, обновление версии, контроль состояния системы и действия при нештатных ситуациях.
1. Резервное копирование
1.1 Состав копии
Резервная копия снимается с базы данных целиком. Данные всех сервисов размещены в единой базе, поэтому копия согласована по всем модулям: расписание, медицинская карта, счёт и списание материалов относятся к одному моменту времени.
Копирование выполняется штатным средством выгрузки PostgreSQL на работающей системе, без остановки обслуживания. Копирование файлов базы данных на работающем сервере не применяется: полученный таким образом набор файлов относится к разным моментам времени и непригоден для восстановления.
Отдельно от базы данных резервируются:
- ключ электронной подписи сеансовых токенов;
- файл параметров окружения, содержащий реквизиты доступа.
1.2 Периодичность и хранение
Копия создаётся ежедневно в часы, когда медицинская организация не работает. Срок хранения копий — 30 дней, задаётся параметром и может быть изменён.
Требования к хранению резервных копий приведены в документе «Установка и настройка».
1.3 Контроль создания копий
При создании копии автоматически проверяется, что выгрузка не пуста, её оглавление читается и число схем в базе данных не уменьшилось.
Указанные проверки подтверждают читаемость копии, но не её пригодность к восстановлению. Пригодность подтверждается только фактическим восстановлением.
2. Восстановление из резервной копии
Восстановление выполняется в следующем порядке:
- Проверка копии до остановки системы. Копия разворачивается во временную базу данных, где сверяются состав схем и число таблиц. О непригодности копии необходимо узнать, пока система работает.
- Остановка прикладных сервисов. База данных остаётся запущенной.
- Переименование текущей базы данных. Действующая база сохраняется под именем с отметкой времени и не удаляется: данные, поступившие после снятия копии, содержатся только в ней.
- Развёртывание копии в базу данных под рабочим именем.
- Повторная выдача прав учётным записям сервисов. База данных создана заново, ранее выданные права в неё не переносятся.
- Запуск сервисов и проверка доступности в порядке, приведённом в документе «Установка и настройка».
Сохранённая база данных удаляется вручную после подтверждения результата восстановления.
2.1 Проверка результата
Проверяется не факт завершения процедуры, а состояние данных: записи расписания, содержимое карточек пациентов и медицинских документов, счета и оплаты, остатки материалов, возможность входа в систему.
Проверка восстановления входит в приёмку системы и выполняется на испытательном стенде. Фиксируется время, затраченное на восстановление: оно определяет длительность перерыва в работе медицинской организации при нештатной ситуации.
3. Обновление версии
3.1 Порядок
Остановка сервисов, резервное копирование, применение миграций, выдача прав, запуск, проверка. Последовательность изменению не подлежит.
Сервисы останавливаются до применения миграций: миграции изменяют структуру базы данных, и обращения работающей прежней версии к изменяемым таблицам приводят к ошибкам либо к записи данных в структуру, которая более не предполагается.
Резервная копия снимается до применения миграций. Копия, снятая после их начала, содержит частично преобразованную базу данных и для восстановления непригодна.
Права выдаются после применения миграций, поскольку выдаются на схемы, создаваемые миграциями.
3.2 Проверка после обновления
Выполняются проверки состояния контейнеров и доступности сервисов, приведённые в документе «Установка и настройка», после чего проверяются журналы.
3.3 Контроль соответствия версии схемы базы данных
При запуске каждый сервис сравнивает номер применённой миграции с номером, ожидаемым его версией. При несовпадении в журнал записывается предупреждение alembic_revision_stale с указанием обоих номеров.
Предупреждение означает, что сервис запущен на базе данных, не доведённой до его версии, — обновление применено не полностью. Запуск сервиса при этом не блокируется.
Проверка журналов обязательна, поскольку часть подобных расхождений не приводит к видимым ошибкам: данные, для которых в схеме нет соответствующих полей, отбрасываются без сообщения, и расхождение обнаруживается значительно позже.
Порядок действий при обнаружении предупреждения: определить по журналам сервис, у которого выявлено расхождение, повторно применить миграции, перезапустить сервисы и убедиться, что предупреждение более не возникает. Повторное применение миграций безопасно: уже применённые пропускаются.
Предупреждение alembic_revision_check_failed означает, что проверка не выполнена — например, база данных была недоступна в момент запуска. Состояние схемы в этом случае остаётся непроверенным и требует такого же разбирательства.
3.4 Возврат к предыдущей версии
Возврат выполняется восстановлением предыдущей версии программного обеспечения и восстановлением базы данных из копии, снятой перед обновлением.
Возврат только программного обеспечения, без восстановления базы данных, допустим исключительно в случае, когда обновление не содержало миграций.
3.5 Предварительная проверка обновления
Перед обновлением системы, находящейся в эксплуатации, порядок обновления выполняется на испытательном стенде с копией рабочей базы данных. Это позволяет установить продолжительность применения миграций на фактическом объёме данных, определяющую длительность перерыва в работе.
4. Контроль состояния системы
В ходе эксплуатации контролируются:
- состояние контейнеров и доступность сервисов;
- наличие в журналах предупреждений о несоответствии версии схемы базы данных;
- создание ежедневных резервных копий и прохождение ими автоматических проверок;
- объём свободного дискового пространства с учётом роста базы данных и хранения копий.
Журналы действий пользователей и история изменений медицинских документов не удаляются, объём базы данных возрастает непрерывно.
5. Действия при нештатных ситуациях
Приведены порядки для ситуаций, выявляемых проверками раздела 4. Ситуации, не описанные ниже, передаются в техническую поддержку правообладателя.
5.1 Сервис не запущен или недоступен
Признак: контейнер сервиса отсутствует в состоянии running либо обращение к служебному адресу сервиса не возвращает код 200.
Порядок действий: получить журнал соответствующего контейнера, установить причину остановки, устранить её и выполнить повторный запуск. После запуска повторить проверку доступности. Если сервис останавливается повторно, обратиться в техническую поддержку, приложив журнал.
5.2 База данных недоступна
Признак: прикладные сервисы не переходят в рабочее состояние; в журналах — ошибки подключения к базе данных либо предупреждение alembic_revision_check_failed.
Порядок действий: проверить состояние контейнера системы управления базами данных и его журнал. Прикладные сервисы запускаются только после готовности базы данных, поэтому до её восстановления повторный запуск сервисов результата не даёт.
5.3 Исчерпание дискового пространства
Признак: прекращение записи в базу данных, ошибки записи в журналах, отсутствие новых резервных копий.
Порядок действий: освободить место, удалив резервные копии с истёкшим сроком хранения, после чего проверить состояние базы данных и работоспособность системы.
Заполнение диска приводит к аварийному прекращению работы системы управления базами данных без явного сообщения о причине, поэтому контроль свободного места выполняется постоянно, а не по факту сбоя.
5.4 Предупреждение о несоответствии версии схемы
Признак: предупреждение alembic_revision_stale в журнале сервиса. Порядок действий приведён в разделе 3.3.
6. Сопровождение
Плановые операции — резервное копирование, обновление, восстановление — выполняются персоналом медицинской организации в порядке, установленном настоящим документом.
Нештатные ситуации, не устраняемые указанными порядками, передаются в техническую поддержку правообладателя. Техническая поддержка, обслуживание и модернизация системы осуществляются силами правообладателя; третьи лица к выполнению указанных работ не привлекаются. Порядок и сроки реагирования устанавливаются договором.
Требования к персоналу, обеспечивающему эксплуатацию, приведены в документе «Требования к обслуживающему персоналу».
7. Сведения о документе
Программное обеспечение: Solomon, медицинская информационная система
Правообладатель: Общество с ограниченной ответственностью «Феникс Медика Групп», ОГРН 1092635012986, ИНН 2635129057, адрес: 355011, Ставропольский край, г. Ставрополь, ул. 50 лет ВЛКСМ, д. 91
Версия документа: 1.0
Версия 1.0 · обновлено
