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

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

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

Примечание.

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

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

Сопоставление устройств содержит коллекции шаблонов выражений, используемых для извлечения данных сообщения устройства во внутренний нормализованный формат для дальнейшей оценки. Каждое полученное сообщение устройства вычисляется по всем шаблонам выражений в коллекции. Эта оценка означает, что одно сообщение устройства можно разделить на несколько исходящих сообщений, которые можно сопоставить с несколькими наблюдениями FHIR в службе FHIR.

Совет

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

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

Diagram example of the MedTech service device message normalization stage.

Проверки сопоставления устройств

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

Сопоставление устройств

Элемент Обязательный в CalculatedContent Обязательный в IotJsonPathContent
typeName Истина Истина
typeMatchExpression Истина Истина
deviceIdExpression Истина Значение false и игнорируется полностью.
timestampExpression Истина Значение false и игнорируется полностью.
patientIdExpression Значение True, если для типа разрешения служб MedTech задано значение Create; False, если для типа разрешения службы MedTech задано значение Lookup. Значение True, если для типа разрешения службы MedTech задано значение Create; False, если для типа разрешения службы MedTech задано значение Lookup.
encounterIdExpression False False
correlationIdExpression False False
values[].valueName Истина Истина
values[].valueExpression Истина Истина
values[].required Истина Истина

Важно!

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

Примечание.

Элементы values[].valueName, values[].valueExpressionи values[].required элементы требуются только в том случае, если в массиве есть запись значения. Допустимо, чтобы значения не сопоставлены. Эти элементы используются при отправке телеметрии событием.

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

CollectionContent

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

Эти типы шаблонов можно использовать в CollectionContent в зависимости от варианта использования:

  • CalculatedContent для сообщений устройств, отправленных непосредственно в концентратор событий службы MedTech. CalculatedContent поддерживает функции JSONPath, JMESPath, JMESPath и пользовательские функции службы MedTech.

и (или)

Diagram showing MedTech service device mapping templates architecture.

Пример

Совет

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

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

{
  "heartRate": "78",
  "endDate": "2023-03-13T22:46:01.8750000",
  "deviceId": "device01"
}

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

{
  "templateType": "CollectionContent",
  "template": [
    {
      "templateType": "CalculatedContent",
      "template": {
        "typeName": "heartrate",
        "typeMatchExpression": "$..[?(@heartRate)]",
        "deviceIdExpression": "$.matchedToken.deviceId",
        "timestampExpression": "$.matchedToken.endDate",
        "values": [
          {
            "required": true,
            "valueExpression": "$.matchedToken.heartRate",
            "valueName": "hr"
          }
        ]
      }
    }
  ]
}

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

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

Когда служба MedTech обрабатывает сообщение устройства, шаблоны в CollectionContent используются для оценки сообщения. Используется typeMatchExpression для определения того, следует ли использовать шаблон для создания нормализованного сообщения из сообщения устройства. typeMatchExpression Если значение равно true, deviceIdExpressiontimestampExpressionто значения и valueExpression значения используются для поиска и извлечения значений JSON из сообщения устройства и создания нормализованного сообщения. В этом примере все выражения записываются в JSONPath, однако для записи всех выражений в JMESPath было бы допустимо. Это зависит от автора шаблона, чтобы определить, какой язык выражений наиболее подходит.

Совет

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

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

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

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

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

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

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

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

Примечание.

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