Сервис для получения медицинских данных из различных источников

«ЛАНИТ-ТЕРКОМ» разработан сервис для получения медицинских данных из различных источников и их отображения в едином формате для дальнейшего использования в исследованиях. Заказчик разработки -  израильская компания, предоставляющая услуги интеграции и управления данными для организаций, занимающихся медицинскими исследованиями.

Основные задачи проекта:

  • Разработка удобного интерфейса для добавления в систему множества источников данных, имеющих различную структуру и не поддерживающих единый протокол передачи данных, без необходимости изменения кода системы.
  • Поддержка высокой производительности системы, поскольку госпиталь может хранить большое количество данных (до нескольких терабайт).
  • Обеспечение абстракции и анонимизации данных системой, так как медицинская информация не может быть передана исследователям в необработанном виде по причине запрета на раскрытие персональных данных пациентов.
  • Реализация управления бизнес-процессами, такими как добавление нового исследователя или запрос на доступ к данным.
  • Проведение разработки на открытых технологиях, не требующих платы за коммерческое использование.

Компоненты решения:

  • Система ETL (извлечение, преобразование, загрузка) для извлечения данных из различных источников, преобразования и загрузки в базу данных;
  • Редактор для работы с соединениями с источниками данных и разработки правил ETL;
  • База данных для хранения необходимой информации;
  • Балансировщик нагрузки;
  • Пользовательский интерфейс в виде веб-страниц;
  • Фреймворк Activiti для управления бизнес-процессами.

Технологии:

Бизнес-логика реализована на языке Java, с использованием фреймворков Spring и Hibernate. В качестве базы данных используется PostgreSQL, для реализации пользовательского интерфейса – HTML5/CSS3/AngularJS/Bootstrap. Поддерживаются источники данных в СУБД PostgreSQL и Apache Impala. Решение развёрнуто в облаке Amazon Web Services.