QuillHub
QuillHub
EN

Обсуждение профилей FHIR: идентификаторы, Bundle/Composition и примеры

28:183 спикера
28:01
длительность
12
главы
3
спикеры
7
Термины
FHIRидентификаторыBundle vs Compositionмаппингпримерыамбулаторная консультациялабораторные исследованияИИ/конференция

Спикеры

3
Спикер A56%39 реплик
Спикер B38%31 реплика
Спикер C6%12 реплик

Основные идеи

6
  • Добавлены дискриминаторы по типу ресурса — теперь идентификаторы зависят от type/slicing.
  • В профили включены новые типы идентификаторов и примеры (взяты из лабораторной спецификации).
  • Bundle рассматривают как технологический контейнер; сутевые идентификаторы предпочтительнее помещать в Composition.
  • Для Bundle с кардинальностью 0..1 нельзя описать срез (slicing) стандартным способом — требуется специальная обработка.
  • Нецелесообразно на данном этапе массово генерировать дополнительные примеры без реальных кейсов.

Важные моменты

6
  • Реализация дискриминаторов по типу ресурса изменила подход к идентификаторам.
  • Найдено практическое решение: держать технологические идентификаторы на Bundle, сутевые — в Composition.
  • Примеры для идентификаторов минималистичны и основаны на лабораторной спецификации.
  • Обсуждён план попробовать автономный маппинг на рукор с использованием агента.
  • Георгий С. Лебедев предварительно рассматривает файл ГОСТ и может прислать мысли в конце недели.

Решения

4
  • Добавить дискриминаторы по типу ресурса — идентификаторы должны определяться через type/slicing.
  • Оставлять технологические идентификаторы на Bundle, а сутевые идентификаторы — в Composition (гипотеза для проверки).
  • Пока включать в набор примеров только лабораторные примеры; не расширять примеры без реальных кейсов.
  • Попробовать маппинг амбулаторной консультации (Encounter + Composition) как отдельную задачу и использовать агента для первого этапа.

Задачи

2
  • Провести эксперимент с автономным маппингом на рукор с использованием агента и показать результат на следующей встречеЕвгений
  • Прислать замечания/мысли по файлу ГОСТГеоргий Станиславович Лебедев · в конце этой недели

Термины

7
Bundle — в FHIR — контейнер (группа ресурсов); здесь рассматривается как технологический контейнер, в котором можно хранить технические идентификаторы.
Composition — ресурс FHIR для объединения клинической документации; рекомендуется держать в нём сутевые (основные) идентификаторы документов.
Encounter (энкаунтер) — событие взаимодействия пациента с системой здравоохранения; может быть частью Composition при моделировании консультации.
Slicing / дискриминатор (slicing/discriminator) — механизм профилирования FHIR для разделения повторяющихся элементов по критериям типа/атрибута.
Invariant — правило/ограничение в профиле, которое должно соблюдаться (например, конкретный путь до идентификатора).

Основное содержание

12 глав · 28:01
6:29

1. Введение и цели встречи

Спикер A6:29

Так, Олег, приветствую. Как слышно?

Спикер B6:31

Евгений, добрый день. Прошу прощения, задержали на другой встрече. Так,

Спикер A6:41

Давайте обменяемся результатами и наметим, что дальше. Давайте я начну, если вы не против.

Спикер B6:51

Конечно.

Спикер A6:57

Ну, вроде завершился очередной цикл по работе.

Спикер C7:19

с идентификаторами

Спикер A7:25

Для сам там на мне висело несколько задач взаимозвездных. Теперь они реализовались вот так. Вот список идентификаторов, которые мы включили для Send. Вот здесь все, что можно, вроде бы оно включилось.

Создан кодэсистем. Типы идентификатор в него в итоге попали: снился, нн, и документы дикарючую, сыграющую личность, и поли сумас, и наши доп идентификаторы для центов.

Почему теперь так вышло? Точнее, почему раньше можно было без этого обойтись, и теперь так вышло? Потому что раньше мы не делали дискриминатор по типу у пациента. Дискриминаторы были прямо по системе, мы таким образом могли определять, что.

Спикер B8:37

Здесь обсуждали в прошлый раз. Да, да.

8:41

2. Идентификаторы и кодовые системы

Спикер A8:41

Да, теперь получается, что поскольку систем заранее неизвестен, то не проходит. Выяснилось, что нельзя одни определять по одному критерию, другие по другому критерию. Всегда один на слайсинг, и тогда это type. И тогда приходится добавить. Вот это сделал, теперь как это выглядит в профилях. Вот у бандла, ну добавлен бандл, и вот у него есть идентификатор.

Спикер C9:16

Так а почему здесь?

Спикер A9:27

А, это особый случай. Это особый случай. Значит, давайте мы по-другому чуть-чуть. У пациента вот так выглядит идентификатор, фишкод определен, снился nn и так далее. И сделан инвариант. В нем теперь, кроме отсылки просто на sent, указано конкретно. Вот и он проверяет конкретный путь до этого самого региона много раз. То

Спикер B10:05

Что обсуждали? Что условно формулочный фасед, он будет у всех константный, не сменят на уровне Миндрава или на уровне вообще российской версии, российской ветки. Ойт, да, например, так.

Спикер A10:25

Вот аналогично устроен энкаунтер. У него теперь вот есть идентификатор энкаунтера в МЕСЕ, стационарного случая, амбулаторного случая. Соответственно, внизу определены соответствующие варианты. Вот и композиция. У композиции, да, у них все вот эти срезы с 0, 1.

Спикер C11:00

Как мы с вами решили, но вот.

Спикер A11:04

И он, вот он определен, он открытый. Здесь аналогично, и особый случай — это бандл, потому что у него сам идентификатор единственный, его кардинальность 0, 1, и fire не разрешает нарезку для такого рода атрибутов.

Поэтому описать это как срез невозможно, но можно сделать ровно то же самое. То есть описать, что в случае, если дело такой условный инвариант, что если это в данном случае система, наверное, вот такая.

Спикер C11:44

То... Сейчас, где же это теперь тут написано?

Спикер A11:50

Где наш инвариант?

11:59

3. Инварианты и модель Bundle/Composition

Спикер B11:59

Я думаю, они там чуть ниже должны быть, вот в ограничении. Но здесь у меня вот он, вот он, вот он, вот Евгений. У меня может быть позднее зажигание, но как будто бы вот эта система для идентификаторов экземпляров документов, как бы ей не нужно быть в Composition, потому что идентификатор бандла, он неспроста сведен из массива к единичному, потому что он должен быть скорее технологическим.

Вот это бы надо проверить, и тогда возможно, что у нас там бандл типа документ, а вот с технологическим идентификатором, а первый ресурс composition в его составе, который должен быть для бандла типа документа обязательно там первым, должен содержать вот этот идентификатор.

Спикер A13:02

Причем оба. Да, причем оба.

Спикер B13:06

Возможно, вот. Возможно, в прошлый раз я до этого не додумался, а сейчас мне вот прям как будто бы синего не надо проверить. Есть вот такая хорошая, хорошая гипотеза. Хорошая.

Спикер A13:22

Просто, если мы моделируем документ, композиция нам, а бандал — это технический контейнер, то надо.

Спикер C13:33

Сделать, как вы говорите, понял.

Спикер A13:41

Задачу я ищу ее по. Но по умолчанию, если ничто не будет противоречить, я перенесу.

Спикер B13:49

Мне кажется, все-таки бандл как технологический контейнер для группы связанных ресурсов, и поэтому сутевые идентификаторы действительно надо погружать в композицию, а на бандле оставлять только технологические, которые в конкретных фаер-серверах и реализациях взаимодействия могут быть сделаны участниками или разработчиками.

Спикер A14:16

Да, звучит логично. Спасибо. Так, и последний тогда раздел той задачи был связан с примерами, которые я в прошлый раз не нашел. Значит, он действительно погрузил их в общий список примеров. И вот они есть. Они для всех этих идентификаторов сделаны по примеру. Они все взяты из лабораторки. Из лабораторной спецификации. И выглядят вот так. Он минимальный. И он включает только примеры оттуда. Вот какой-то вывью.

Спикер C14:54

Все. Хотим.

15:06

4. Примеры и расширение набора примеров (амбулаторная консультация)

Спикер B15:06

Ли мы развивать, давать дополнительные примеры из не лабораторного домена, например?

Спикер A15:14

Я сейчас не вижу, честно говоря, оснований. Просто раздувать ру-код. Ну, потому что абстрактно, теоретически, можно понасоздавать примерно все сочетания, или как угодно.

И кажется, что задачи на такие примеры должна давать реальная жизнь. Как только мы столкнемся с каким-то полезным примером, наш ответ, как в этой ситуации делать, мы можем разместить в рукоре.

Спикер B15:56

Так, вот у нас есть амбулаторный случай на примере лабораторного исследования. Может быть, дополнить его примером амбулаторной консультации хотя бы? Ну, как самый массовый. Как двух самых массовых медицинских услуг.

Спикер A16:17

Это, конечно, можно сделать. Давайте посмотрим, например, сейчас.

Спикер C16:28

Сейчас мы его вот.

Спикер A16:30

У нас экземпляры.

Спикер C16:51

пример

Спикер A16:56

А тут у нас амбулаторный случай, который был использован в протоколе. То есть сейчас вы имеете в виду, что нам нужен пример чего? Encounter, он же пример и не консультация как таковой. Консультация представляет собой набор ресурсов. Там есть, например, Encounter. Или вы хотите смоделировать здесь прям большую структуру?

Спикер B17:29

Ну вот, как будто бы пользы практической от смоделированного протокола консультации мы небольшим усилием можем нанести много. То есть, как будто бы само усилие небольшое, то есть скормить агенту руководство по send-у, протокол консультации с примерами и сказать: "А теперь замапируй его на текущий профиль FHIR."

18:05

5. Маппинг сэнда и перенос на Rucore

Спикер A18:05

Ну, да, да, да. Сама работа не очень большая.

Спикер B18:08

Ну, мне ее придется перепроверить, но саму работу как раз можно на агента свалить.

А пользы можем нанести много, продемонстрировав маппинг еще одного сэнда на рукор.

Спикер A18:23

Мы здесь не продемонстрировали маппинг сэнда протокола лабораторного исследования на рукор.

Сейчас, вот тут есть тонкость, конечно. Значит, маппинг сэнда на FHIR — это не рукор, а наследник. Погружать его в рукор не всегда хорошо, потому что там есть особенности, которые мы сознательно оставляли в статье.

Спикер B18:55

Переформулирую. Маппинг клинического примера из сенда амбулаторной консультации на рукор.

Спикер A19:04

Именно энкаунтера, верно?

Спикер B19:09

Энкаунтера, возможно, связанного с композицией, с этим энкаунтером. То есть он как будто должен быть достаточно компактным. Энкаунтер плюс композиция, например.

19:26

6. Выбор клинического примера: энкаунтер и амбулаторная консультация

Спикер A19:26

Ну, давайте капельку порассуждаем. Значит, это уже малая композиция. Там будет энкаунтер, будет кондиция. Иначе какой-то непонятно просто энкаунтер. Что там еще будет? Патиент какой-то должна быть ссылочка.

Спикер B19:47

Понятно. То есть, кроличья нора глубока, я понял.

Спикер A19:52

Да, я просто думаю, что границу надо... и, соответственно, границу цели и границу реализации. Если мы ставим цель проиллюстрировать сендами, то это отдельная задача. И она, кстати, может оказаться очень информативной для пользователей любых. Потому что вот, например, есть такая... а мы, кстати, мы же делаем уже в...

Спикер C20:19

Гости, делаем на ВМП пример, но там.

Спикер B20:28

Именно ВМП он более ограничен и специфичный.

Спикер A20:33

Специфичен да, там заявка в основном все.

Спикер B20:36

Делал заявки. Я почему на этом сфокусировался? Если посмотреть валовый объем всех оказанных медицинских услуг, то амбулаторные приемы, консультация, осмотр и лабораторные исследования займут 60% всех оказываемых услуг. Больше половины, по моей скромной оценке, они займут. Доля.

Спикер A21:12

Да, при этом развивая эту мысль, кажется, что если про такое лабораторное исследование было много возни, потому что там много специфических сущностей, то с протоколом амбулаторной консультации не так много должно бы быть.

21:27

7. Попытки автоматизации: агенты, навыки и публикация на GitHub

Спикер A21:27

Надо изучить вопрос. Можно так быть, что она вообще ляжет без профилирования?

Спикер B21:35

Ну, хотя бы попытаться с помощью тех же наших агентов попробовать. Могло бы быть интересно, и тогда можно было бы после этого делать некоторые заявления.

Перекладка SAMD на Rucore — это теперь вопрос навыков, прикрепленного к вашему кодексу, курсору, код-коду.

Спикер A22:10

Да, да, да. И более того, мы эти навыки можем бесплатно вывести на сайт.

Спикер B22:15

Да, да. Прямо вывести на GitHub.ru.

Спикер A22:19

Да, да-да.

Спикер B22:22

То есть, есть так, пофантазировать.

Спикер A22:25

Да, любопытная мысль, Олег, отлично. Размышляет на дне недельку. В следующий раз сопоставить. Ну, может, я что-то выложу. И посмотреть, что получается. Хорошо. Хорошо, принято. Ладно, мой доклад окончен. Если у вас нет еще предложений, замечаний?

22:54

8. Доработки в Rucore и реакция на файл ГОСТ

Спикер B22:54

Ну, пока нет. А я, собственно, все, что мы обсудили по тем доработкам, которые планировались, прям в прошлый вторник сразу и воткнул в рукор. Так что у меня там в целом тоже все из нового.

Спикер A23:12

Ну да, там была обязательность рубрики снять, степень подтвержденности диагноза, снять ограничения и опубликовать все это реализованно.

Спикер B23:24

Вот, так что, взяв курсор с авторами коммитов репозитория, я несколько нарастил скорость обработки.

Спикер A23:35

Ну да.

Спикер B23:37

Вот, поэтому сейчас как раз можно подумать про следующие шаги. Вот, что еще можно было бы. Да,

Спикер A23:47

Я хочу предложить, что Георгий Станиславович Лебедев отреагировал на наш файлик с ГОСТом. Пока предварительно он сказал, что он его рассматривает, и в конце этой недели, возможно, пришлет свои мысли на этот счет.

Спикер C24:07

Пока так уклончиво.

24:15

9. Планирование секции по искусственному интеллекту на ИТМ

Спикер B24:15

У нас какая-то повестка для ИТМа есть? Вы будете что-то докладывать?

Спикер A24:20

Нет, по файру не буду.

Спикер B24:24

Ну, я, видимо, тоже.

Спикер A24:28

Не предполагал, по крайней мере.

В ИТМе мы планировали с Ерманом и Орловым небольшую секцию по пациентскому и врачебному искусственному интеллекту. Вот если у вас есть что про.

Спикер B24:48

Это сказать можете присоединиться. Ну, давайте подумаем, потому что там что-то секции по искусству интеллекта уже появилась. Ну, конечно, так.

Спикер A24:59

И должно быть, да он параллельно нашей. А нет, параллельна. Да, и Татьяна Васильевна с Скобринским тоже что-то ведут такое с.

Спикер C25:13

Тем же названием, ребят. Вот, а наша.

Спикер A25:17

Будет последней, последним номером. Второй день, 16 до 18.

25:22

10. Приветствие и обсуждение планов

Спикер B25:22

Вот, ну, видимо, да, и встретимся.

А вот пока я еще не определился в различиях между всеми секциями, поэтому пока не знаю, вот, в итоге, куда.

Спикер A25:39

Хорошо. Скажите, пожалуйста, вы участвуете в работе этого центра по искусственному интеллекту?

Спикер B25:47

Нет, пока нет. Я даже не знаю. Видимо, его как-то проанонсируют на конференции.

Спикер C26:07

Хорошо.

Спикер B26:07

Пока я на самом деле публичных новостей не видел. Может быть, пропустил, но как-то публичных не видел.

26:17

11. Центр по искусственному интеллекту и секция‑панель

Спикер A26:17

Ясно. А эту секцию мы думали сделать как панель и обсудить там то, что пациенты используют искусственный интеллект, врачи используют искусственный интеллект. И либо это войдет в конфликт, либо это будет друг другу помогать.

Аспекты, которые при этом можно пообсуждать. Такие были мысли.

Спикер B26:47

Тут, наверное, надо вставить главную идею, что если у вас есть внешний сервис искусственного интеллекта, вызывать его нужно по FIRE. Шутка, но только с долей шутки.

Спикер A27:08

Тогда больше вероятность, что он вас правильно поймет. Хорошо,

27:19

12. Эксперимент с автономным маппингом, технические детали и прощание

Спикер B27:19

Евгений, тогда на связи. Давайте попробуем эксперимент с автономным маппингом на рукор провести.

Спикер A27:31

Давайте, давайте, попробую и посмотрим на результат в следующий раз. Так, есть ли у вас камера?

Спикер B27:41

Да, наверное, сейчас попробую выбрать ракурс, угол. Так. В целом, вы знаете, я в той же настройке, что и на аватарке.

Спикер A27:56

Ну, в принципе, да, но живее все равно. Хорошо.

Ладно, тогда всего доброго, до новых встреч, до свидания.