Коротка відповідь: інтеграційний рушій (engine) — це проміжне програмне забезпечення, створене для обміну медичними даними. Він слухає багато протоколів (MLLP для HL7 v2, HTTP для FHIR та SOAP, файли, бази даних, черги), трансформує повідомлення (зіставлення полів, переклад кодів, конвертація форматів, наприклад, з HL7 v2 у FHIR), маршрутизує їх до одного або кількох пунктів призначення з фільтрами та зберігає черги, повторні спроби, журнали та інформаційні панелі, щоб жодне повідомлення не було втрачено, а кожен збій був видимим. Лікарні використовують його, щоб кожна система підключалася до рушія один раз, а не до кожної іншої системи. Відомі продукти: Mirth Connect (NextGen Connect, історично з відкритим кодом), Rhapsody, InterSystems HealthShare / IRIS for Health, Infor Cloverleaf, Qvera QIE, Orion та багато інших; хмарні провайдери пропонують керовані аналоги.
Основні компоненти
Будівельними блоками програмного забезпечення для інтеграції медичних даних є канали (один потік від джерела до його призначення), вихідні конектори або слухачі, такі як MLLP та HTTP, фільтри, які вирішують, чи продовжуватиметься повідомлення, трансформатори, які зіставляють поля та коди, вихідні конектори, черги з повторними спробами, моніторинг із сповіщеннями та журнал аудиту змін каналів та історії повідомлень.
Кожен рушій, незалежно від термінології, має однакові частини:
- Канал (інтерфейс): один потік від джерела до одного або кількох пунктів призначення, зі своїми налаштуваннями та статистикою.
- Вихідний конектор / слухач: MLLP (TCP з обрамленням для HL7 v2), HTTP(S) кінцеві точки, SFTP та опитування файлів, запити до бази даних, JMS або інші черги, DICOM у деяких продуктах.
- Фільтр: правило, яке визначає, чи продовжуватиметься обробка повідомлення (тільки ADT^A01 для цього класу пацієнтів).
- Трансформатор: скрипти або зіставлення, які змінюють повідомлення: перейменовують поля, зіставляють локальні коди з LOINC через таблицю пошуку, створюють FHIR Observation з сегмента OBX, додають Z-сегмент, якого очікує застаріла система.
- Кінцевий конектор: куди йде результат, зі своїм протоколом та обробкою помилок.
- Черга та повторні спроби: повідомлення зберігаються до підтвердження; збої повторюються з відкладенням; "отруйні" повідомлення потрапляють до черги помилок для людей.
- Моніторинг та сповіщення: лічильники для кожного каналу, затримка, рівень помилок, сповіщення, коли канал замовкає (найкорисніше сповіщення в медичній інтеграції).
- Аудит: хто змінив який канал, та історія повідомлень для усунення несправностей, з контролем терміну зберігання та доступу, оскільки це дані пацієнта.
Типові завдання
Типові завдання програмного забезпечення для інтеграції медичних даних включають розсилку ADT з HIS до відділень, маршрутизацію лабораторних результатів до кількох отримувачів, переклад локальних кодів на LOINC, ATC та UCUM, зв'язування форматів HL7 v2, FHIR, CDA та CSV, надання фасаду FHIR поверх застарілої бази даних, нормалізацію потоків даних з пристроїв та адаптацію MLLP всередині до HTTPS зовні.
- Розсилка ADT: отримання інформації про госпіталізацію з HIS, фільтрація та переклад для кожного відділення, доставка до лабораторії, радіології, аптеки, управління ліжками та порталу пацієнта.
- Маршрутизація результатів: ORU з LIS до EHR, до системи лікаря, що замовляв аналіз, до регіонального запису, до FHIR-запису пацієнта, кожен з різним підмножиною та форматом.
- Переклад кодів: локальні коди тестів до LOINC, локальні коди ліків до ATC, текстові одиниці вимірювання до UCUM, через керовані таблиці пошуку (зіставлення лабораторних кодів з LOINC).
- Міст форматів: HL7 v2 до FHIR і назад, CDA до FHIR, CSV зі старої системи до будь-чого.
- FHIR-фасад: рушій надає FHIR-кінцеві точки та відповідає на них, запитуючи застарілу базу даних або надсилаючи запити v2, щоб додатки бачили FHIR-сервер там, де його немає.
- Інтеграція пристроїв: пропрієтарні потоки моніторів нормалізуються до спостережень IHE PCD.
- Адаптація протоколу: MLLP всередині будівлі, HTTPS з OAuth назовні.
Вибір рушія
Вибір програмного забезпечення для інтеграції медичних даних залежить від шести критеріїв: обсяг повідомлень та наскільки критичними є затримки та збої, протоколи та стандарти, що підтримуються «з коробки» (HL7 v2, FHIR R4, DICOM, національні формати), досвід розробників, операційні аспекти, такі як кластеризація та відмовостійкість, умови ліцензування, які змінилися для деяких продуктів у 2025 році, та наявні навички для обслуговування каналів.
- Обсяг та критичність: повідомлення на день, допустима затримка та чи має значення двовилинний збій (для ADT та результатів має).
- Протоколи та стандарти "з коробки": версії та парсери HL7 v2, підтримка FHIR R4 з валідацією, DICOM, X12 у США, національні формати.
- Досвід розробника: мова скриптів (JavaScript у Mirth, пропрієтарна в інших), контроль версій визначень каналів, інструменти тестування, розгортання в кількох середовищах.
- Експлуатація: кластеризація, відмовостійкість, інтеграція моніторингу, шлях оновлення, модель підтримки.
- Ліцензування: відкритий код або спільнотні видання, підписка за канал або за ядро, керовані хмарні пропозиції; ліцензування деяких історично відкритих продуктів змінилося у 2025 році, тому перевіряйте поточні умови.
- Наявні навички: рушій хороший настільки, наскільки хороші люди, які його підтримують.
Безпечна експлуатація
Безпечна експлуатація програмного забезпечення для інтеграції медичних даних означає розгляд визначень каналів як коду під контролем версій, тестування з синтетичними повідомленнями перед виробництвом, управління таблицями пошуку коду з призначеними власниками, сповіщення, коли канал мовчить, обмеження та видалення історії повідомлень, оскільки це дані пацієнта, документування призначення кожного каналу та ніколи не дозволяти програмному забезпеченню ставати системою обліку.
Ставтеся до визначень каналів як до коду: у системі контролю версій, перевірені, розгорнуті через тестове та проміжне середовища з синтетичними повідомленнями. Тримайте таблиці пошуку (карти кодів) під управлінням з власниками. Встановлюйте сповіщення про тишу, а не тільки про помилки. Обмежте доступ до історії повідомлень, яка є даними пацієнта, і видаляйте її за розкладом. Документуйте призначення та власника кожного каналу; недокументований канал — це той, який зупиняє відділення, коли його автор йде. І ніколи не дозволяйте рушію стати системою запису: він переміщує та трансформує дані, він ними не володіє.
Коли він не потрібен
Програмне забезпечення для інтеграції медичних даних не потрібне, коли всі партнери нової системи спілкуються за допомогою FHIR, у цьому випадку сервер FHIR із підписками та шлюз API покривають маршрутизацію та автентифікацію, або коли один інтерфейс HL7 v2 може бути оброблений бібліотекою, такою як HAPI HL7v2 або hl7apy. Програмне забезпечення для інтеграції медичних даних виправдовує своє місце при роботі з багатьма системами та форматами.
Система "з нуля", партнери якої всі спілкуються FHIR, може використовувати FHIR-сервер з підписками та API-шлюз для автентифікації, обмеження швидкості та маршрутизації, з трансформаціями у звичайних сервісах. Один інтерфейс HL7 v2 може бути оброблений невеликою бібліотекою (HAPI HL7v2 на Java, hl7apy або python-hl7 на Python) всередині програми. Рушій виправдовує своє місце, коли є багато систем, багато форматів та потреба в консолі управління, за якою можуть спостерігати не-розробники.
В Anpheros
Anpheros Platform знаходиться на стороні FHIR рушія: лікарні маршрутизують потоки, якими хочуть ділитися (результати, документи, зустрічі), до нього через свій рушій або через лабораторний конектор, і читають назад через FHIR API та вебхуки. Сайт для розробників показує зіставлення HL7 v2 до FHIR, яке застосовує конектор.
Пов'язані сторінки
- Інтеграція лікарняних систем: пояснення
- Як інтегрувати лабораторну систему з EHR
- Пояснення повідомлень HL7 v2: ADT та ORU
- Як зіставити локальні лабораторні коди з LOINC
- FHIR Subscriptions: пояснення
- Зіставлення HL7 v2 до FHIR (сайт для розробників)
Джерела
- NextGen Connect (Mirth Connect)
- Rhapsody Integration Engine
- InterSystems IRIS for Health
- Infor Cloverleaf
- Бібліотека HAPI HL7v2
- Посібник з реалізації HL7 v2 до FHIR
Поширені запитання
Чи є інтеграційний рушій тим самим, що й ESB або iPaaS?
Схожа родина, але спеціалізований: інтеграційний рушій постачається з підтримкою HL7 v2, DICOM, CDA та FHIR, MLLP, моніторингом, специфічним для охорони здоров'я, та словниками, які використовують команди. Загальні ESB та iPaaS продукти можуть виконати завдання з більшими зусиллями.
Чи може рушій автоматично перетворювати HL7 v2 на FHIR?
Кілька рушіїв містять зіставлення на основі посібника HL7 v2-to-FHIR і обробляють поширені сегменти. Локальні угоди, Z-сегменти та зіставлення кодів завжди потребують проектної роботи.
Чи зберігає рушій дані пацієнтів?
Він зберігає повідомлення під час передачі та веде історію повідомлень для усунення несправностей, що є даними пацієнта і повинно бути захищено та видалено. Його не слід використовувати як довгострокове сховище або систему запису.
Відкритий код чи комерційний?
Обидва використовуються у великих лікарнях. Рішення зазвичай залежить від підтримки, навичок, потреб у кластеризації та поточних умов ліцензування, які змінилися для деяких продуктів; перевіряйте перед прийняттям рішення.
Спробуйте безкоштовно в пісочниці
Перший запит FHIR за 5 хвилин. API стандарту HL7 FHIR R4 з вбудованою згодою пацієнта: спробуйте в пісочниці, а потім підключіть власну програму чи клінічну систему.
Безкоштовно · 30 синтетичних пацієнтів · без картки

