Общие сведения о сопоставлении назначения службы MedTech FHIR

В этой статье представлен обзор сопоставления назначения службы MedTech FHIR®.

Служба MedTech требует двух типов сопоставлений JSON, которые добавляются в службу MedTech через портал Azure или API Azure Resource Manager. Сопоставление устройств — это первый тип и элементы управления значениями сопоставления в данных устройства, отправленных службе MedTech во внутренний нормализованный объект данных. Сопоставление устройств содержит выражения, которые служба MedTech использует для извлечения типов, идентификаторов устройств, даты измерения и значений измерения. Сопоставление назначения FHIR является вторым типом и определяет, как нормализованные данные сопоставляются с наблюдениями FHIR.

Примечание.

Сопоставления назначения устройств и FHIR оцениваются повторно при каждом обработке сообщения устройства. Любые обновления для любого сопоставления немедленно вступают в силу.

Основные сведения о сопоставлении назначений FHIR

Сопоставление назначения FHIR определяет, как нормализованные данные, извлеченные из сообщения устройства, сопоставляются с наблюдением FHIR.

  • Следует ли создать наблюдение для точки во времени или в течение часа?
  • Какие коды следует добавить в наблюдение?
  • Должно ли значение быть представлено как SampledData или количество?

Эти типы данных являются всеми параметрами элементов управления конфигурацией сопоставления назначения FHIR.

После преобразования данных устройства в нормализованную модель данных нормализованные данные собираются для преобразования в наблюдение FHIR. Если тип наблюдения — SampledData, данные группируются в соответствии с идентификатором устройства, типом измерения и периодом времени (период времени может составлять 1 час или 24 часа). Выходные данные этой группировки отправляются для преобразования в одно наблюдение FHIR, представляющее период времени для этого типа данных. Для других типов наблюдений (Количество, CodeableConcept и String) данные не группируются, но вместо этого каждое измерение преобразуется в одно наблюдение, представляющее точку во времени.

Совет

Дополнительные сведения о том, как служба MedTech обрабатывает данные сообщения об устройстве в наблюденияХ FHIR для сохранения в службе FHIR, см. в разделе "Обзор этапов обработки сообщений об устройстве службы MedTech".

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

Diagram example of the MedTech service device message transformation stage.

Примечание.

Наблюдение FHIR на этой схеме не является полным ресурсом. См . пример в этом обзоре для всего наблюдения FHIR.

CollectionFhir

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

Diagram showing MedTech service FHIR destination mapping template and code architecture.

CodeValueFhir

CodeValueFhir в настоящее время является единственным шаблоном, поддерживаемым в сопоставлении назначения FHIR. Он позволяет определять коды, действующий период и значение наблюдения. Поддерживаются несколько типов значений: SampledData, CodeableConcept, Quantity и String. Наряду с этими настраиваемыми значениями идентификатор ресурса наблюдения и связывание с соответствующими ресурсами устройства и пациентов обрабатываются автоматически.

Важно!

Тип разрешения указывает, как служба MedTech связывает данные устройства с ресурсами устройства и ресурсами пациентов. Служба MedTech считывает ресурсы устройств и пациентов из службы FHIR с помощью идентификаторов устройств и идентификаторов пациентов. Если идентификатор встречи указан и извлечен из полезных данных устройства, он связан с наблюдением, если обнаруженная встреча существует в службе FHIR с этим идентификатором. Если идентификатор встречи успешно нормализуется, но с идентификатором встречи FHIR не существует, создается исключение FhirResourceNotFound. Дополнительные сведения о настройке типа разрешения службы MedTech см. на вкладке "Настройка назначения".

Элемент Description Обязательное поле
typeName Тип измерения, к этому шаблону следует привязать. Примечание. Должен быть по крайней мере один шаблон сопоставления устройств с таким же typeNameшаблоном. Элемент typeName используется для связывания шаблона сопоставления назначения FHIR с одним или несколькими шаблонами сопоставления устройств. Шаблоны сопоставления устройств с тем же typeName элементом создают нормализованные данные, вычисляемые с помощью шаблона сопоставления назначения FHIR, который имеет тот же typeName. Истина
periodInterval Период времени, который должен представлять созданное наблюдение. Поддерживаемые значения: 0 (экземпляр), 60 (час), 1440 (день). Значение True, если тип наблюдения — SampledData; Игнорируется для других типов наблюдений.
category Любое количество кодируемыхConcepts для классификации типа созданного наблюдения. False
Коды Одно или несколько кодов для применения к созданному наблюдению. Истина
code[].code Код для кода в элементе codes . Истина
codes[].system Система для кода в элементе codes . False
codes[].display Отображение кода в элементеcodes. False
значение Значение для извлечения и представления в наблюдении. Дополнительные сведения об элементах, содержащихся в value элементе, см. в разделе "Типы значений". Значение True, если components элемент не используется (если тип "Наблюдение" не является CodebleConcept, в этом случае этот элемент не только не требуется, но и игнорируется).
Компоненты Один или несколько компонентов для создания наблюдения. Значение True, если value вместо этого элемент не используется.
components[].codes Одно или несколько кодов для применения к компоненту. False
components[].value Значение для извлечения и представления в компоненте. Дополнительные сведения об элементах, содержащихся в components[].value элементе, см. в разделе "Типы значений". Значение True, если элемент используется (если тип "Наблюдение" components не является CodebleConcept, в этом случае этот элемент не только не является обязательным, но и игнорируется).

Типы значений

Все элементы шаблонов value CodeValueFhir содержат следующие элементы:

Элемент Description Обязательное поле
valueType Тип значения. Это значение будет иметь значение SampledData, Quantity, CodeableConcept или String в зависимости от типа значения. Истина
valueName Имя значения. Значение True, если valueType не является CodeableConcept.

Эти типы значений поддерживаются в сопоставлении назначения службы MedTech FHIR:

SampledData

Представляет тип данных SampledData FHIR. Измерения наблюдения записываются в поток значений, начиная с точки во времени и приращения вперед, используя определенный период. Если значение отсутствует, E записывается в поток данных. Если период такой, что два или более значений занимают одинаковое положение в потоке данных, используется последнее значение. Эта же логика применяется при обновлении наблюдения с помощью SampledData. Для шаблона CodeValueFhir с типом значения SampledData элемент шаблона value содержит следующие элементы:

Элемент Description Обязательное поле
defaultPeriod Используемый период по умолчанию в миллисекундах. Истина
единицу Единица, заданная в источнике SampledData. Истина

Количество

Представляет тип данных Quantity FHIR. Этот тип создает одну точку во времени, наблюдение. Если новое значение поступает, содержащее тот же идентификатор устройства, тип измерения и метку времени, предыдущее наблюдение обновляется до нового значения. Для шаблона CodeValueFhir с типом значения Quantity элемент шаблона value содержит следующие элементы:

Элемент Description Обязательное поле
единицу Представление единицы. False
code Закодированная форма единицы. False
system Система, определяющая закодированную форму единицы. False

CodeableConcept

Представляет тип данных CodeableConcept FHIR. Значение в нормализованной модели данных не используется, а вместо этого при получении этого типа данных создается наблюдение с определенным кодом, представляющим, что наблюдение было записано в определенный момент времени. Для шаблона CodeValueFhir с типом значения CodeableConcept элемент шаблона value содержит следующие элементы:

Элемент Description Обязательное поле
text Представление обычного текста. False
Коды Одно или несколько кодов для применения к созданному наблюдению. Истина
code[].code Код для кода в элементе codes . Истина
codes[].system Система для кода в элементе codes . False
codes[].display Отображение кода в элементеcodes. False

Строка

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

Пример

Совет

Вы можете использовать отладчик сопоставления служб MedTech для создания, обновления и устранения неполадок с устройством службы MedTech и сопоставлениями назначения FHIR. Отладчик сопоставления позволяет легко просматривать и вносить встроенные корректировки в режиме реального времени, не оставляя портал Azure. Отладчик сопоставления также можно использовать для отправки тестовых сообщений устройства, чтобы узнать, как они будут обрабатываться в нормализованные сообщения и преобразованы в наблюдения FHIR.

Примечание.

Этот пример и нормализованное сообщение — продолжение сопоставления устройств службы MedTech.

В этом примере мы используем нормализованное сообщение для heartRate записи данных:

[
  {
    "type": "heartrate",
    "occurrenceTimeUtc": "2023-03-13T22:46:01.875Z",
    "deviceId": "device01",
    "properties": [
      {
        "name": "hr",
        "value": "78"
      }
    ]
  }
]

Мы используем это сопоставление назначения FHIR для этапа преобразования:

{
  "templateType": "CollectionFhir",
  "template": [
    {
      "templateType": "CodeValueFhir",
      "template": {
        "codes": [
          {
            "code": "8867-4",
            "system": "http://loinc.org",
            "display": "Heart rate"
          }
        ],
        "typeName": "heartrate",
        "value": {
          "system": "http://unitsofmeasure.org",
          "code": "count/min",
          "unit": "count/min",
          "valueName": "hr",
          "valueType": "Quantity"
        }
      }
    }
  ]
}

Полученное наблюдение FHIR будет выглядеть следующим образом после этапа преобразования:

[
  {
    "code": {
      "coding": [
        {
          "system": {
            "value": "http://loinc.org"
          },
          "code": {
            "value": "8867-4"
          },
          "display": {
            "value": "Heart rate"
          }
        }
      ],
      "text": {
        "value": "heartrate"
      }
    },
    "effective": {
      "start": {
        "value": "2023-03-13T22:46:01.8750000Z"
      },
      "end": {
        "value": "2023-03-13T22:46:01.8750000Z"
      }
    },
    "issued": {
      "value": "2023-04-05T21:02:59.1650841+00:00"
    },
    "value": {
      "value": {
        "value": 78
      },
      "unit": {
        "value": "count/min"
      },
      "system": {
        "value": "http://unitsofmeasure.org"
      },
      "code": {
        "value": "count/min"
      }
    }
  }
]

Совет

Сведения об устранении распространенных ошибок развертывания служб MedTech см. в разделе "Устранение неполадок при развертывании службы MedTech".

Сведения об устранении ошибок службы MedTech см. в разделе "Устранение ошибок" с помощью журналов служб MedTech.

Следующие шаги

Обзор сопоставления устройств службы MedTech

Использование шаблонов CalculatedContent с сопоставлением устройств службы MedTech

Использование шаблонов IotJsonPathContent с сопоставлением устройств службы MedTech

Использование пользовательских функций с сопоставлением устройств службы MedTech

Общие сведения о примерах сопоставлений на основе сценариев на основе служб MedTech

Примечание.

FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .