Оптимизация взаимодействия с МИС для сети медицинских клиник. Реализация фоновой синхронизации данных, расширение БД и развитие административной панели на Vue.js и Python
Мобильное приложение и административная панель для московской сети медицинских клиник. Продукт эксплуатируется более трёх лет. В мобильном приложении пользователи записываются на приём в клинику, просматривают отзывы на врачей и историю посещений. Административная панель используется для модерации контента: добавления фотографий врачей, корректировки информации, внесения данных, которые не поступают из внешней медицинской системы автоматически.
Система интегрирована с внешней медицинской информационной системой (МИС), из которой тянутся основные данные о расписании, врачах и записях.
Основная задача, поставленная перед командой Fortech, — оптимизация взаимодействия с внешней МИС. Проблема состояла в нестабильной работе внешней системы: сбои в её доступности приводили к тому, что данные становились недоступны и для пользователей мобильного приложения.
Требовалось обеспечить гарантированную доступность данных вне зависимости от состояния внешней системы. Простое кэширование запросов не подходило: данные уже частично сохранялись в собственную базу, и нужно было именно расширить таблицы и хранить всё необходимое на своей стороне.


Fortech обеспечил backend-разработчика, который работал в связке с существующей командой. Большая задача была декомпозирована на подзадачи по каждому из методов API внешней МИС: для каждого метода потребовалась отдельная фоновая задача синхронизации.
Работа требовала удержания в памяти большого количества параметров одновременно: у разных методов API были разные структуры данных, разная логика обновления и разные правила обработки удалений.

Обеспечена гарантированная доступность данных МИС для пользователей мобильного приложения вне зависимости от состояния внешней системы. Синхронизация настроена по всем ключевым методам API. Данные хранятся в собственной базе с учётом удалений на стороне внешней системы.

Цифровая площадка, которая помогает врачам быстрее ставить диагнозы, а пациентам — улучшать качество жизни.

Как мы построили модуль аварийных заявок и систему ролевого доступа для тысяч сотрудников ритейл-сети — на React, Redux-saga и TypeScript