Медицина, Интеграции, Корпоративное ПО
.NET Core
«ИНВИТРО» — лидер в области лабораторной диагностики и медицинских услуг. Компания обслуживает как физических лиц, так и широкий круг коммерческих клиентов: клиники, медицинские центры и лаборатории, которые направляют анализы и получают результаты через инфраструктуру «ИНВИТРО». Для организации этого процесса используется собственная лабораторная информационная система (ЛИС), обеспечивающая полный цикл работы с пробами — от регистрации заявок до хранения и передачи результатов.
ЛИС объединяет работу собственных лабораторий и коммерческих клиентов «ИНВИТРО»: частных клиник и городских больниц одного из регионов России. Несмотря на централизованную систему, интеграция данных остаётся сложной из‑за того, что:
Необходимо обеспечить корректную и эффективную интеграцию большого парка разнородных лабораторных приборов с ЛИС, чтобы поддерживать единый поток данных и качественное обслуживание всех клиентов. Наша команда занимается этими задачами.
Интеграция строилась на базе драйверов — программных модулей, которые выступают «мостом» между прибором и ЛИС. Команда проектировала такие драйверы с учётом реальной логики работы приборов и лабораторий. Это не готовое ПО «из коробки» — в каждом случае требовалось разобрать протоколы обмена, адаптировать форматы данных и встроить результаты в бизнес-процессы лаборатории.
Для старых приборов приходилось разбирать устаревшие форматы и создавать собственные парсеры. Для современных — реализовывать поддержку сложных алгоритмов и больших объёмов данных. Благодаря опыту в интеграции ЛИС и МИС, специалист умел правильно отразить лабораторные процессы в системе: от настройки маршрутов исследований до соответствия международным протоколам ASTM и HL7.
Каждый драйвер выполняет несколько функций:
1. устанавливает связь с прибором через его протокол (COM-порт, TCP/IP, файлы, SDK производителя);
2. преобразует данные в единый формат, понятный ЛИС;
3. сопоставляет результаты приборных тестов с внутренними справочниками ЛИС (тесты, исследования, коды);
4. передаёт данные в систему с гарантией доставки, логированием и повторными попытками при сбое;
5. принимает задания из ЛИС и передаёт их обратно в прибор.
Таким образом, приборы разных производителей становятся частью единой сети и работают через общую систему, а не через отдельные программы.
Разнородное оборудование
В разных лабораториях и клиниках подключены приборы разных производителей и поколений. Среди них есть устаревшие модели, для которых приходилось разбирать старые форматы данных, и современные «умные» устройства с продвинутыми алгоритмами. Команда проекта разрабатывала драйверы таким образом, чтобы каждый прибор корректно передавал результаты в ЛИС независимо от протокола или возраста оборудования, объединяя весь парк приборов в единую систему.
Длительные микробиологические процессы
Бакпосевы и другие микробиологические анализы могут занимать от одного до семи дней. Для оптимизации работы строилась последовательность приборов: первичные устройства быстро определяли наличие патогенов, а при положительном результате данные автоматически передавались на вторичные приборы для более детального исследования. Драйверы и маршрутизация данных обеспечивали корректную передачу информации в ЛИС, сокращали время ожидания и минимизировали ручной ввод.
Сложная обработка ПЦР
ПЦР-анализаторы формируют большое количество данных, включая кривые амплификации. Для корректной интеграции этих результатов в ЛИС команда разработчиков создала специальные алгоритмы обработки. Это позволило системе корректно работать с большим объёмом данных и поддерживать новые методы диагностики.
Синтетические тесты и взаимодействие приборов
Некоторые анализы формируются на основе нескольких классов исследований. Драйверы собирают результаты первичных и вторичных приборов, объединяют их и передают в ЛИС как единый синтетический результат. Такой подход обеспечивает точность данных, уменьшает вероятность ошибок и позволяет автоматизировать сложные сценарии.
Постоянное добавление новых исследований
В ЛИС регулярно появляются новые формы, бланки и классы исследований. Команда выстроила архитектуру драйверов и процессов так, чтобы новые приборы и исследования можно было подключать без сбоев, обеспечивая универсальность и масштабируемость системы.