Які проблеми, як правило, виникають під час роботи з повідомленнями HL7?


12

Я тестую продукт для підприємств охорони здоров’я, і ми працюємо з повідомленнями HL7. Я бачив людей, що стогнуть над іншим запитанням щодо проблем із HL7, але не згадуючи конкретики. Чи може хтось дати мені кілька уявлень про те, які питання чи класи проблем ми повинні спеціально шукати?

Ми використовуємо деякі добре використані бібліотеки для розбору. Якщо конкретні питання щодо цього чи того, що ми робимо, буде корисним, будь ласка, повідомте мене в коментарях, і я додам питання, якщо зможу.

Відповіді:


13

Я припускаю, що ви маєте справу з HL7 v2.x

HL7 добровільно надзвичайно гнучка. Це має великі переваги, але також викликає проблеми. Основне правило, яке слід пам’ятати, - це те, що кожна реалізація буде різною. Якщо ви розгортаєте той самий продукт у двох різних середовищах (наприклад, 2 лікарні), правило обміну даними, ймовірно, буде іншим. Ваш продукт повинен бути готовий відповідати цим прихованим вимогам, якщо ви хочете мати можливість масштабувати кількість інтерфейсів HL7, з якими він буде взаємодіяти.

У більшості систем охорони здоров’я, що займаються HL7, ми стикаємося з цим частковим переліком загальних проблем:

  • Кожна система могла інтерпретувати значення кожного фрагмента даних. Також контекст і робочі процеси можуть впливати на семантичне. Я бачив деякі системи, що використовують номер рахунку (PID.18) або номер відвідування (PV1.19), щоб визначити, чи відповідає пацієнт деяким клінічним робочим процесам. Такий тип семантичного розриву, ймовірно, матиме певний вплив на те, як система отримує ці дані, що стосується цього.
  • Необхідно проти необов'язково: Оскільки частину даних можна обміняти для досягнення декількох цілей у декількох різних контекстах, більшість сегментів і полів зафіксовані як необов’язкові в офіційній документації (та деяких парсерах). Однак, щоб задовольнити конкретні робочі процеси, медичні продукти, ймовірно, додадуть правила обмеження даних та послаблять деякі інші. Більшу частину часу для їх виявлення потрібно проводити окремий аналіз.
  • Таблиці: HL7 надає певний список запропонованих значень для деяких полів. Наприклад, пропонований список значень для статі 6 довгих ... Очевидно, більшість систем не реалізує всі 6, але яка ваша стратегія картографування, якщо ви отримуєте таку, яку не підтримуєте заздалегідь?
  • Сегменти та поля можна налаштувати: довжина поля, типи даних та інші атрибути визначення можуть бути налаштовані. Потрібно зіставити його з якоюсь відомою вами структурою даних, не втрачаючи важливої ​​інформації.

jlmorin

www.caristix.com


6

Кілька проблем, які я зіткнувся:

  • Деякі організації можуть використовувати різні версії HL7, тому у вас виникнуть проблеми з сумісністю ("кросова хода"). Звичайно, ви зіткнетесь з цим, якщо ви залучитесь до будь-яких міжорганізаційних передач даних.
  • Немає семантичного стандарту (для v2.x, я думаю, v3, можливо, почав це вирішувати), тому навіть якщо ви знаєте, які дані повинні бути в певному полі, ви можете не знати точного значення або представлення цих байтів.
  • HL7 - це нестандартний стандарт. Він підтримує специфіку продавця, Z-segmentsяка широко використовується і є повністю фірмовою.
  • HL7 v2.x (багато значень x все ще використовується в дикій природі) - це формат, що не належить до XML, тому для роботи з ним вам потрібен парсер HL7. (Це ви знаєте, оскільки у вас вже є бібліотека для розбору HL7, включаючи її для інших)

2
Найгірше з них - відсутність семантики. Коли навіть люди, які пишуть стандарт, кажуть "добре ви можете надіслати X або Y, але Z також дійсний", ви знаєте, що у вас є проблема. Що рятує, це те, що ніхто, крім парсерів, не повинен мати справу з усім спектром варіантів HL7 - кожен має справу з тим невеликим підмножиною, яке насправді отримують їх клієнти. Це означає, що написання нового акцепта - це процес відкриття (що я зараз переживаю), а не вправа "впровадити стандарт". О, і здогадуючись, який варіант вам потрібно надіслати, щоб мати бажаний ефект.

@ +1 для відповіді, і я міг би дати +1 для включення інформації для людей, окрім ОП (мені). @moz - хороший момент про необхідність лише невеликого підмножини. Саме така наша ситуація. Ви також підтверджуєте мою підозру, що порівняння з даними клієнтів буде ключовим.
Етел Еванс

1
@ethel і @moz, саме такий спосіб мислення робить складнішим поводження з HL7. Будь ласка, знайдіть час, щоб зробити ваші програми максимально гнучкими, HL7 - це одне місце, де YAGNI жодним чином не застосовується.
Пітер Тернер

Гаразд, це має сенс. Я не думаю, що наш додаток не спричинить жодних проблем YAGNI, оскільки ми плануємо заздалегідь розширити типи повідомлень HL7, які ми можемо використовувати для надання цінності. Ми знаємо, що не знаємо, що нам буде потрібно в майбутньому.
Етел Еванс

1
Тому я прихильник використання бібліотек з відкритим кодом (HAPI / NHAPI) принаймні для приймаючої сторони. Набагато краще мати високий рівень "ми отримали дійсне повідомлення HL7, але не написали код для його обробки", ніж "наш аналізатор не вдався, тому що ми цього не очікували". На жаль, кожен починає з малого "ми просто надсилаємо X і отримуємо Y", тому набагато простіше зламати щось разом, ніж потім продовжувати це щоразу, коли надходить нова вимога, поки в кінцевому підсумку вона не руйнується під вагою накопиченого суру.

2

Перше питання - переконатися, що всі знають, що таке HL7.

Це спосіб замінити [медичне | виставлення рахунків | страхування] кодерами та заощадити гроші [аптеки | банку | страхової компанії].

Це зморшки поверх усіх нормальних проблем у розробці програмного забезпечення.

  1. Область повзучості
  2. Неповні технічні характеристики
  3. Недійсні технічні характеристики, які "Неможливо змінити"

Отже, ви звертаєтесь до свого [Аптека | Банк | Страхова компанія], який хоче вичавити всі гроші, які вони можуть від інтерфейсу HL7, до об'єкта, який використовує ваше програмне забезпечення. Ваш договір з закладом, їхній договір з аптекою, [Аптека | Банк | Страхова компанія] не має поняття, як працює ваше програмне забезпечення, заклад не має поняття, що таке HL7, і вас відмітили в аптеці, оскільки вони постійно повідомляють вам, що ваше програмне забезпечення баггі.

Я вважаю, що проблема з HL7 полягає в тому, що він здебільшого робиться дешево. HL7 3.0 ніколи не може здійснитися, оскільки він ніколи не монетизує.

Якщо ви збираєтесь "платити за HL7", пам’ятайте, що ви також платите за HL [1-6]. Інтерфейс SOAP не HL7. Аналізатор повідомлень HL7 не є HL7, не є генератором повідомлень.


1
HL7 - це набагато більше, ніж лише для аптек. Найчастіше HL7 використовується для підключення розрізнених систем, таких як EMR, до системи виставлення рахунків.
Білл

Наш продукт не орієнтований на аптеки, навіть опосередковано, і реакція дуже упереджена, маючи невелику підтримку для відповіді.
Етел Еванс

1
@Ethel Я додам декілька регексів, але ви повинні бути більш конкретними у своєму питанні. У нас більше, ніж у аптеках із 100-відсотковою реалізацією HL7 в домашніх умовах, але головним рушієм розвитку є завжди "велика фармака", якщо інші можуть скористатися широко використовуваною специфікацією, так і нехай буде.
Пітер Тернер

@ Peter: Я спробую бути більш конкретним, чому я вважаю, що це не корисно. По-перше, ваша виділена цитата здається дуже упередженою та непідтримуваною. По-друге, пункти з вашого нумерованого списку або розпливчасті, або не додають більше того, що інші відповіді сказали чіткіше. По-третє, ваш приклад сценарій є дуже конкретним і не схожий на сценарій, яким я маю справу (і, мабуть, інші), що робить його неінформативним. По-четверте, ваше твердження про те, що HL7 зроблено дешево, видається упередженим і непідтримуваним. По-п’яте, я не займаюся "HL7", я працюю з повідомленнями HL7, тому точка останнього абзацу втрачена.
Етел Еванс

2
@Ethel, як, на мою думку, я повинен підтримувати свої претензії, я не отримую ніякої користі, захоплюючись HL7, що я знаю з мого останнього досвіду роботи з кількома постачальниками, це те, що коли хтось каже, що вони хочуть працювати з моєю програмне забезпечення, і щоб надіслати їм "Тест-повідомлення", щоб вони могли зрозуміти, як воно має виглядати, вони складуть якусь ОРМ навколо повідомлення, і це буде просто працювати для цього. Це не добре. Якщо моя відповідь здається іншою, ніж інші, це точно не тому, що я не кажу вам правди. HL7 в основному стосується грошей.
Пітер Тернер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.