Поддержка медицинской IT-системы для европейской клиники
Каждый IT-продукт предназначен для решения определенных бизнес-задач – например, автоматически формировать медицинские документы (справки, рецепты) и обеспечивать удобство докторов и пациентов. Для того чтобы IT-система выполняла эти задачи, важно выстроить как процессы разработки, так и техническую поддержку. В кейсе рассказываем, как мы помогли восстановить работу и повысить безопасность IT-системы в области здравоохранения.
Задача
Наш партнер обратился к нам для тестирования и расширения функций IT-системы, используемой в клиниках Европы для управления документооборотом.
С помощью программы доктора и администраторы ежедневно обрабатывали тысячи аудиофайлов и записей о приемах пациентов, а в базе данных хранились миллионы файлов.
В этом проекте мы выполняли большой комплекс задач:
– Заказчику нужно было в сжатые сроки ускорить выпуск новых релизов, и нас подключили к разработке и тестированию продукта.
– Также мы занимались поддержкой его «облака», при этом отдельные клиники самостоятельно устанавливали десктопную программу на своих серверах.
Инцидент в работе системы и решение
После года сотрудничества заказчик обратился к нам для решения новой задачи. В одной из клиник возник сбой в базе данных (БД) IT-системы. Эта ситуация произошла накануне Рождества, и заказчик не успевал восстановить систему, потому что в Европе наступали длительные выходные.
Проблема заключалась в том, что из-за сбоя в базе данных оказались повреждены записи о приемах более 1 000 000 пациентов. Физический диск с виртуальной машиной заказчика тоже был поврежден, а базу резервных копий (бэкапов) клиника не вела. У нас оставалась единственная возможность восстановить данные – из бэкапа жесткого диска.
Анализируя настройки системы, мы столкнулись с новой проблемой. Восстановить данные из резервной копии, как мы предполагали ранее, было невозможно. Бэкапы диска не сохранились, потому что клиника выделила для них всего 500 Gb на сервере, и этого места было недостаточно.
В поисках других вариантов решения мы нашли интересную ошибку. Оказалось, что часть информации из базы клиники дублировалась в ElasticSearch, хотя обычно в этом нет необходимости. В результате именно эта ошибка нам помогла.
Для восстановления файлов мы написали утилиту, которая позволила комбинировать часть данных из базы и ElasticSearch. Мы протестировали ее и убедились, что наш метод работает. Несмотря на частичное повреждение БД, мы использовали несколько разных подходов и смогли сохранить все данные. В течение новогодних праздников мы восстановили все потерянные записи – более 2 миллионов документов. Заказчик был воодушевлен этим результатом и выразил нам благодарность.
Подробнее об этапах решения задачи можно прочитать в нашем блоге на Хабре.
Результат
После «спасения» системы мы предложили свою помощь в её детальной проверке и настройке. В первую очередь, мы проверили не только тот сервер, на котором произошел инцидент, но и сервера других клиник. На основе проверки мы составили рекомендации по обеспечению безопасности, получили одобрение заказчика и воплотили их в жизнь.
С помощью SQL Server мы настроили резервное копирование, а также обеспечили дополнительный мониторинг бэкапов на нашей стороне и систему ночных алертов. Сейчас мы продолжаем присматривать за инфраструктурой всех клиник, в которых установлена IT-система.
Благодаря оперативной помощи нашей команды, клиенту удалось в короткие сроки восстановить IT-систему и предотвратить возможные риски. Этот проект — еще один пример того, как мы помогаем нашим заказчикам на всех этапах — от создания IT-продукта до его обслуживания и поддержки.
Этот кейс вдохновил нас на создание специальной «команды быстрого реагирования» – приглашаем узнать больше о технической поддержке разработки и тестирования.