Если вы читали книжки про Health Level 7 (HL7) или проходили курсы, или может учавствовали в конференциях, смотрели презентации и т.д. и т.п., то наверняка обращали внимание, что чаще всего они начинаются с утверждения, что основной целью деятельность организации Health Level 7 является улучшение interoperability или интероперабельности.
Если научиться без запинки произносить эту самую «интероперабельность», то можно выдавать фразы, вроде «Наша компания успешно консолидирует ещё бОльшие аспекты интероперабельности квази и мультидоменных гетерогенных систем и средств кастомизации к условиям конкретного применения» и дуть щёки. Все вокруг будут многозначительно кивать головами — ну как же, интероперабельность, это же совершенно понятно, плавали, знаем.
Попробуем всё так разобраться, что же означает это слово и почему HL7 считает это понятие таким важным. Для начала, заменим его на равноценное по значению, но русское слово. Мне кажется, «совместимость» вполне подходит. Тогда получается, что HL7 озабочена совместимостью медицинских систем. Звучит не так заумно, щёки дуть уже не получится, зато сам термин становится гораздо проще и понятнее.
HL7 выделяет три типа совместимости: техническую, семантическую и совместимость по процессам. Рассмотрим на примерах, что каждая из них значит.
Техническая совместимость
Здесь вроде всё понятно, системы должны общаться на одном «языке». Думаю, многие помнят, как во времена становления интернет существовали программы вроде “Штирлиц”, а любимой кнопкой в броузере была “Кодировка”. Это как раз примеры несовместимости на техническом уровне. Можно считать, что в HL7 коммуникациях проблем с этим в настоящий момент нет или почти нет.
Семантическая совместимость
Обсуждая семантическую совместимость, т.е. совместимость на смысловом уровне, считают, что техническая уже полностью обеспечена. В качестве примера семантической совместимости возьмем следующий гипотетический случай. Предположим, что команда парамедиков (неотложка) приехала на вызов. Пострадавший без сознания, однако его демографические данные известны. Парамедик отправляет в центральную мед систему запрос на наличие у пострадавшего аллергических реакций на обезбаливающие средства. В ответ приходит «нет».
Вот это «нет», оно что обозначает? Должен ли парамедик решить, что:
• У пострадавшего нет аллергии на медикаменты.
• В системе нет данных по аллергическим реакциям для данного пациента.
• Данный пациент в системе отсутствует.
Понятно, что клинические риски существенно отличаются для каждого из выбранных ответов.
Если данный пример вам кажется слишком надуманным, то в HL7v3 есть несколько способов отрицания результата: используя NullFlavor, с помощью аттрибута negationInd и с помощью кода SNOMED CT. Как несложно заметить, очень легко соорудить конструкцию отрицание отрицания. Или другой случай, когда машино-читаемый код использует NullFlavor, а человеко-читаемая часть (элемент originalText) несёт какую-то информацию. Что выбрать в этом случае?
Совместимость процессов
Попробую объяснить этот тип совместимости на следующем, опять же, гипотетическом примере, хотя кто-то может сказать, что он также относится к семантической совместимости, что, отчасти, так и есть. Предположим злостному курильщику предложили пройти программу отказа от курения (smoking cessation) и нужно закодировать следующие положения: курильщик не смог завершить программу по причине её закрытия. Ну это же проще простого, скажет кто-то, берём SNOMED CT и находим нужный код. Поиск по термину — smoking cessation – возвращает более 20 результатов, это не включая локальные словари. Причём термины относятся к разным веткам, т.е. нельзя сказать, что если код находится в диапазоне от… и до ..., то наверное он про smoking cessation. Т.е., если клиники заранее не договорятся какой термин использовать для обозначения того или иного понятия, то соответствия может и не произойти, несмотря на преодоление первых двух уровней совместимости.
В одной из прошлых статей я писал, что заказчик, а часто и непосредственный разработчик, зачастую не в состоянии оценить сложность проекта с HL7. Достаточно заметить, что только приведение словаря SNOMED CT с его 300 тыс концептов к возможности реального использования (существенно сократив терминологию до 5-10 тыс концептов), займёт не неделю и не две. Команда экспертов может потратить месяцев 6-ть только на эту часть проекта запросто. А без не неё нельзя говорить, что мед системы совместимы.
Чтобы примеры не казались слишком надуманными, возьмём реальную картину взаимодействия в одном из клинических случаев (ниже):
Нетрудно заметить, что совместимость по крайне мере на двух первых уровнях должна быть между всеми участниками лечебного процесса.
Три представленных уровня не единственно возможные уровни совместимости. Так, например, European Interoperability Framework (EIF) добавляет ещё один уровень — Legal Interoperability – который включает в себя защиту данных и прочее.
В заключении этой короткой статьи. Тем, кто впервые столкнулся с этим термином и желает узнать побольше, можно попробовать с книги “Principles of Health Interoperability HL7 and SNOMED” (Tim Benson). Как искать книги в инете, наверное, не надо объяснять.
Для «продвинутых» можно рекомендовать подписаться на рассылку listserver — HL7 Electronic Health Record Interoperability Work Group (EHR Interoperability WG) — на сайте hl7.org
Если научиться без запинки произносить эту самую «интероперабельность», то можно выдавать фразы, вроде «Наша компания успешно консолидирует ещё бОльшие аспекты интероперабельности квази и мультидоменных гетерогенных систем и средств кастомизации к условиям конкретного применения» и дуть щёки. Все вокруг будут многозначительно кивать головами — ну как же, интероперабельность, это же совершенно понятно, плавали, знаем.
Попробуем всё так разобраться, что же означает это слово и почему HL7 считает это понятие таким важным. Для начала, заменим его на равноценное по значению, но русское слово. Мне кажется, «совместимость» вполне подходит. Тогда получается, что HL7 озабочена совместимостью медицинских систем. Звучит не так заумно, щёки дуть уже не получится, зато сам термин становится гораздо проще и понятнее.
HL7 выделяет три типа совместимости: техническую, семантическую и совместимость по процессам. Рассмотрим на примерах, что каждая из них значит.
Техническая совместимость
Здесь вроде всё понятно, системы должны общаться на одном «языке». Думаю, многие помнят, как во времена становления интернет существовали программы вроде “Штирлиц”, а любимой кнопкой в броузере была “Кодировка”. Это как раз примеры несовместимости на техническом уровне. Можно считать, что в HL7 коммуникациях проблем с этим в настоящий момент нет или почти нет.
Семантическая совместимость
Обсуждая семантическую совместимость, т.е. совместимость на смысловом уровне, считают, что техническая уже полностью обеспечена. В качестве примера семантической совместимости возьмем следующий гипотетический случай. Предположим, что команда парамедиков (неотложка) приехала на вызов. Пострадавший без сознания, однако его демографические данные известны. Парамедик отправляет в центральную мед систему запрос на наличие у пострадавшего аллергических реакций на обезбаливающие средства. В ответ приходит «нет».
Вот это «нет», оно что обозначает? Должен ли парамедик решить, что:
• У пострадавшего нет аллергии на медикаменты.
• В системе нет данных по аллергическим реакциям для данного пациента.
• Данный пациент в системе отсутствует.
Понятно, что клинические риски существенно отличаются для каждого из выбранных ответов.
Если данный пример вам кажется слишком надуманным, то в HL7v3 есть несколько способов отрицания результата: используя NullFlavor, с помощью аттрибута negationInd и с помощью кода SNOMED CT. Как несложно заметить, очень легко соорудить конструкцию отрицание отрицания. Или другой случай, когда машино-читаемый код использует NullFlavor, а человеко-читаемая часть (элемент originalText) несёт какую-то информацию. Что выбрать в этом случае?
Совместимость процессов
Попробую объяснить этот тип совместимости на следующем, опять же, гипотетическом примере, хотя кто-то может сказать, что он также относится к семантической совместимости, что, отчасти, так и есть. Предположим злостному курильщику предложили пройти программу отказа от курения (smoking cessation) и нужно закодировать следующие положения: курильщик не смог завершить программу по причине её закрытия. Ну это же проще простого, скажет кто-то, берём SNOMED CT и находим нужный код. Поиск по термину — smoking cessation – возвращает более 20 результатов, это не включая локальные словари. Причём термины относятся к разным веткам, т.е. нельзя сказать, что если код находится в диапазоне от… и до ..., то наверное он про smoking cessation. Т.е., если клиники заранее не договорятся какой термин использовать для обозначения того или иного понятия, то соответствия может и не произойти, несмотря на преодоление первых двух уровней совместимости.
В одной из прошлых статей я писал, что заказчик, а часто и непосредственный разработчик, зачастую не в состоянии оценить сложность проекта с HL7. Достаточно заметить, что только приведение словаря SNOMED CT с его 300 тыс концептов к возможности реального использования (существенно сократив терминологию до 5-10 тыс концептов), займёт не неделю и не две. Команда экспертов может потратить месяцев 6-ть только на эту часть проекта запросто. А без не неё нельзя говорить, что мед системы совместимы.
Чтобы примеры не казались слишком надуманными, возьмём реальную картину взаимодействия в одном из клинических случаев (ниже):
Нетрудно заметить, что совместимость по крайне мере на двух первых уровнях должна быть между всеми участниками лечебного процесса.
Три представленных уровня не единственно возможные уровни совместимости. Так, например, European Interoperability Framework (EIF) добавляет ещё один уровень — Legal Interoperability – который включает в себя защиту данных и прочее.
В заключении этой короткой статьи. Тем, кто впервые столкнулся с этим термином и желает узнать побольше, можно попробовать с книги “Principles of Health Interoperability HL7 and SNOMED” (Tim Benson). Как искать книги в инете, наверное, не надо объяснять.
Для «продвинутых» можно рекомендовать подписаться на рассылку listserver — HL7 Electronic Health Record Interoperability Work Group (EHR Interoperability WG) — на сайте hl7.org
father_gorry
Спасибо. Подписался на Ваши будущие публикации.