Устранение ошибок с помощью журналов службы MedTech

Примечание

Ресурсы быстрого взаимодействия в сфере здравоохранения (FHIR®) — это открытая спецификация для здравоохранения.

В этой статье приведены действия по устранению неполадок и исправления ошибок, обнаруженных в журналах службы MedTech.

Совет

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

Сведения о том, как получить доступ к журналам службы MedTech, см. в статье Включение параметров диагностики для службы MedTech.

Серьезность ошибки службы MedTech

Это свойство представляет серьезность возникщей ошибки. Ниже приведен список возможных значений для этого свойства:

Статус Описание
Неблокирующий В процессе потока данных существует проблема, но обработка сообщений устройства не останавливается.
Блокировка В процессе потока данных возникает проблема, и сообщения устройства не обрабатываются.

Операция, выполняемая службой MedTech

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

OperationName Описание
Нормализация Этап потока данных, на котором нормализуется сообщение устройства.
FHIRConversion Этап потока данных, на котором сгруппированные нормализованные данные преобразуются в ресурс наблюдения.

Примечание

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

Работоспособности службы MedTech проверка исключения и исправления

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

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

Имена проверок работоспособности перечислены в следующей таблице, а исправления для любых ошибок описаны ниже:

Проверка работоспособности
CredentialStore:IsCustomerFacingMiCredentialBundlePresent
ExternalEventHub:IsAuthenticated
FhirService:IsAuthenticated

Примечание

Хотя исключение HealthCheckException является блокирующей проблемой, она может быть временной и может устраняться без вмешательства.

CredentialStore:IsCustomerFacingMiCredentialBundlePresent

Описание. Проверяет, включено ли управляемое удостоверение, назначаемое системой, в службе MedTech или настроено ли управляемое удостоверение, назначаемое пользователем.

Серьезность: блокировка

Исправление. Следуйте исправлениям, описанным в разделе ManagedIdentityCredentialNotFound.

ExternalEventHub:IsAuthenticated

Описание. Проверяет, является ли концентратор событий допустимым и что служба MedTech получает к нему доступ.

Серьезность: блокировка

Исправление. Убедитесь, что концентратор событий действителен, следуя исправлению, описанному в разделе InvalidEventHubException. Затем убедитесь, что служба MedTech получает доступ к концентратору событий, следуя исправлению, описанному в разделе UnauthorizedAccessEventHubException.

FhirService:IsAuthenticated

Описание. Проверяет, является ли назначение FHIR допустимым и что служба MedTech имеет к нему доступ на запись.

Серьезность: блокировка

Исправление. Убедитесь, что назначение FHIR является допустимым, следуя исправлению, описанному в разделе InvalidFhirServiceException. Затем убедитесь, что служба MedTech имеет доступ на запись к назначению FHIR, следуя исправлению, описанному в разделе UnauthorizedAccessFhirServiceException.

Ошибки и исправления службы MedTech

Если при нормализации или преобразовании сообщений устройства возникает ошибка, она регистрируется.

В журналах службы MedTech имя ошибки регистрируется в LogType.

Имена ошибок перечислены в следующей таблице, а исправления для них приведены под таблицей:

LogType
CorrelationIdNotDefinedException
FhirDataMappingException
FhirResourceNotFoundException
IncompatibleDataException
InvalidDataFormatException
InvalidEventHubException
InvalidFhirServiceException
InvalidQuantityFhirValueException
InvalidTemplateException
ManagedIdentityCredentialNotFound
MultipleResourceFoundException
NormalizationDataMappingException
PatientDeviceMismatchException
ResourceIdentityNotDefinedException
TemplateExpressionException
TemplateNotFoundException
UnauthorizedAccessEventHubException
UnauthorizedAccessFhirServiceException

CorrelationIdNotDefinedException

Описание. Если correlationIdExpression (которое является выражением для анализа идентификатора корреляции из сообщения устройства) указано в сопоставлении устройства, эта ошибка возникает, когда идентификатор корреляции отсутствует в сообщении устройства или когда CorrelationIdExpression неправильно настроен в сопоставлении устройств. Примечание. CorrelationIdExpression является необязательным. Эта ошибка возникает при группировке измерений, которые используют одно и то же устройство, тип и идентификатор корреляции, в один ресурс наблюдения FHIR.

Серьезность: блокировка

Fix.

  • Если требуется CorrelationIdExpression: убедитесь, что сообщения устройства содержат идентификатор корреляции. Кроме того, на портал Azure перейдите в колонку Сопоставление устройств службы MedTech и убедитесь, что correlationIdExpression значение в сопоставлении устройств существует и правильно ссылается на ключ идентификатора корреляции в сообщениях устройства.

  • Если CorrelationIdExpression не требуется: на портал Azure перейдите в колонку Сопоставление устройств службы MedTech и удалите строку, содержащуюся correlationIdExpression в сопоставлении устройств.

FhirDataMappingException

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

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Сопоставление устройств и колонку Назначение службы MedTech и убедитесь, что для каждого шаблона в сопоставлении устройств есть шаблон с таким же typeName значением в сопоставлении назначения FHIR. Кроме того, исправьте ошибки проверки, которые отображаются при редактировании и сохранении сопоставления назначения FHIR в колонке Назначение .

FhirResourceNotFoundException

Описание. Эта ошибка возникает, когда ресурс FHIR с идентификатором, указанным в сообщении устройства, не найден в назначении FHIR. Если тип ресурса FHIR — Patient, возможно, ресурс FHIR устройства с идентификатором устройства, указанным в сообщении устройства, не ссылается на ресурс Patient FHIR. Тип ресурса FHIR (например, Device, Patient, Encounter или Observation) указан в сообщении об ошибке. Примечание. Эта ошибка может возникать только в том случае, если для типа разрешения службы MedTech задано значение Уточняющий запрос.

Серьезность: не блокируется

Исправление. Убедитесь, что сообщения устройства содержат идентификатор ресурса FHIR с типом, указанным в сообщении об ошибке. Кроме того, на портал Azure перейдите в колонку Сопоставление устройств службы MedTech и убедитесь, что {FHIR resource’s type specified in the error message}IdExpression значение (например, deviceIdExpression) в сопоставлении устройств существует и правильно ссылается на ключ идентификатора в сообщениях устройства.

IncompatibleDataException

Описание. Существует несовместимость между сообщением устройства и сопоставлением устройства (например, обязательное свойство может отсутствовать или быть пустым в сообщении устройства и /или в сопоставлении устройств). Свойство сопоставления устройств с ошибкой указывается в сообщении об ошибке.

Серьезность: неблокировка

Исправление. Убедитесь, что сообщения устройства содержат:

  • Ключ, на который ссылается свойство сопоставления устройства, указанное в сообщении об ошибке.

  • Непустое значение для ключа.

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

InvalidDataFormatException

Описание: сообщение устройства не имеет формата, который можно проанализировать в объект JSON.

Серьезность: неблокировка

Исправление. Убедитесь, что сообщения устройства имеют формат JSON. Одним из способов подтверждения формата JSON является использование интерактивного проверяющего элемента управления JSON.

InvalidEventHubException

Описание. Концентратор событий недопустим по одной из следующих причин:

  • По крайней мере одно из сведений о концентраторе событий (пространство имен Центров событий, имя концентратора событий или группа потребителей) неправильно отформатировано или не существует. Пространство имен Центров событий должно содержать концентратор событий, а концентратор событий — группу потребителей.

  • Несколько служб считывают данные из группы потребителей концентратора событий.

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Центры событий службы MedTech и убедитесь, что заполнены все поля для сведений о концентраторе событий. Чтобы гарантировать, что только ваша служба MedTech считывает данные из группы потребителей, выполните следующие действия:

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

  • Перейдите к концентратору событий в портал Azure, создайте новую группу потребителей, доступ к которому имеет только ваша служба MedTech, перейдите в колонку Центры событий службы MedTech и выберите новую группу потребителей в поле Группа потребителей.

Исключение InvalidFhirServiceException

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

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Назначение службы MedTech и убедитесь, что поле сервера FHIR заполнено правильно.

InvalidQuantityFhirValueException

Описание: недопустимое значение с типом данных ресурса Quantity (например, оно может иметь формат, который не поддерживается). Значение с ошибкой указывается в сообщении об ошибке.

Серьезность: неблокировка

Исправление. Убедитесь, что значения в сообщениях устройства находятся в поддерживаемых типах данных в соответствии со спецификациями FHIR Quantity.value.

InvalidTemplateException

Описание. В сопоставлении устройств или назначении FHIR возникла ошибка с шаблоном. К ошибкам относятся:

  • Тип шаблона (представленный свойством templateType ) отсутствует или имеет пустое значение.

  • Шаблон (представленный свойством template ) в корневом шаблоне коллекции не имеет объекта JSON, который определяется фигурными скобками {}в качестве значения.

  • Тип шаблона (представленный свойством typeName ) отсутствует или имеет пустое значение.

  • Несколько шаблонов в сопоставлении имеют один и тот же тип (имеет одинаковое значение для своего typeName свойства).

Тип шаблона и строка с ошибкой указываются в сообщении об ошибке.

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Сопоставление устройств (если ошибка связана с сопоставлением устройств) или колонку Назначения (если ошибка находится в сопоставлении назначения FHIR) службы MedTech и исправьте шаблон, указанный в сообщении об ошибке.

ManagedIdentityCredentialNotFound

Описание. Когда служба MedTech подключается к концентратору событий, управляемое удостоверение службы MedTech, назначаемое системой, отключается или не существует, либо управляемое удостоверение, назначаемое пользователем, не настроено для службы MedTech. Примечание. Эта ошибка может возникнуть, если служба MedTech была развернута с помощью неправильно настроенного шаблона Azure Resource Manager (ARM).

Серьезность: блокировка

Исправление. Исправление зависит от типа управляемого удостоверения, которое вы хотите использовать. Различия между управляемым удостоверением, назначаемого системой, и управляемым удостоверением, назначаемого пользователем, можно проверить на странице Типы управляемых удостоверений. Примечание. Служба MedTech поддерживает только одно удостоверение: управляемое удостоверение, назначаемое системой, или одно управляемое удостоверение, назначаемое пользователем.  

Если вы хотите использовать управляемое удостоверение, назначаемое системой:

  1. Если вы развертываете службу MedTech с помощью шаблона ARM, убедитесь, что ресурс службы MedTech в шаблоне ARM содержит identity свойство, содержащее type значение "SystemAssigned" (см. пример шаблона ARM в файле azuredeploy.json на сайте GitHub).

  2. На портал Azure перейдите в колонку Удостоверение службы MedTech, перейдите на вкладку Назначенная система и убедитесь в следующем:

    • Для свойства Состояние задано значение Вкл.
    • Назначения ролей Azure показывают, что концентратор событий имеет роль приемника данных Центры событий Azure, назначенную управляемому удостоверению службы MedTech, назначаемому системой. Если нет, следуйте этим инструкциям

Если вы хотите использовать управляемое удостоверение, назначаемое пользователем, выполните следующие действия.

  1. Убедитесь, что у вас есть управляемое удостоверение, назначаемое пользователем. В противном случае создайте его с помощью портал Azure или шаблона ARM.

  2. Если вы развертываете службу MedTech с помощью шаблона ARM, убедитесь, что ресурс службы MedTech в шаблоне ARM содержит identity свойство, содержащее 1) type значение "userAssigned" и 2) userAssignedIdentities значение, содержащее имя управляемого удостоверения, назначаемого пользователем (см. пример в статье Назначение управляемого удостоверения, назначаемого пользователем, виртуальной машине Azure).

  3. На портал Azure перейдите в колонку Удостоверение службы MedTech, перейдите на вкладку Назначено пользователем и убедитесь, что отображается управляемое удостоверение, назначаемое пользователем. В противном случае добавьте управляемое удостоверение, назначаемое пользователем (см. пример в статье Назначение управляемого удостоверения, назначаемого пользователем, существующей виртуальной машине).

  4. На портал Azure перейдите в концентратор событий и назначьте роль Центры событий Azure Data Receiver управляемому удостоверению, назначаемому пользователем, медицинской службы (см. инструкции, но используйте управляемое удостоверение, назначаемое пользователем, а не управляемое удостоверение, назначаемое системой).

MultipleResourceFoundException

Описание. В назначении FHIR найдено несколько ресурсов FHIR с одинаковым идентификатором, который взят из сообщения устройства, но должен быть найден только один ресурс FHIR. Тип ресурса FHIR (например, Устройство, Пациент, Встреча или Наблюдение) указывается в сообщении об ошибке.

Серьезность: неблокировка

Исправление. Убедитесь, что идентификатор не назначен нескольким ресурсам FHIR с типом, указанным в сообщении об ошибке.

NormalizationDataMappingException

Описание: произошла ошибка при нормализации сообщения устройства с сопоставлением устройств.

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Сопоставление устройств службы MedTech и исправьте ошибки проверки, которые отображаются при редактировании и сохранении сопоставления устройств.

PatientDeviceMismatchException

Описание. Ресурс Device в назначении FHIR ссылается на ресурс FHIR пациента с идентификатором, который не соответствует идентификатору пациента, указанному в сообщении устройства (то есть устройство связано с другим пациентом).

Серьезность: неблокировка

Исправление. Убедитесь, что идентификатор пациента не назначен нескольким устройствам.

ResourceIdentityNotDefinedException

Описание. Эта ошибка возникает, если идентификатор ресурса FHIR отсутствует в сообщении устройства или если выражение для анализа идентификатора ресурса FHIR из сообщения устройства не настроено в сопоставлении устройств. Тип ресурса FHIR (например, Устройство, Пациент, Встреча или Наблюдение) указывается в сообщении об ошибке. Примечание. Эта ошибка может возникать только в том случае, если для типа разрешения службы MedTech задано значение Создать.

Серьезность: неблокировка

Исправление. Убедитесь, что сообщения устройства содержат идентификатор ресурса FHIR с типом, указанным в сообщении об ошибке. Кроме того, на портал Azure перейдите в колонку Сопоставление устройств службы MedTech и убедитесь, что {FHIR resource’s type specified in the error message}IdExpression значение (например, deviceIdExpression) в сопоставлении устройств существует и правильно ссылается на ключ идентификатора в сообщениях устройства.

TemplateExpressionException

Описание: в шаблоне в сопоставлении устройств возникает ошибка с выражением. К ошибкам относятся:

  • Отсутствует обязательное выражение.

  • Язык выражения (представленный свойством language ) не поддерживается. Все типы шаблонов поддерживают выражения в JSONPath; Только тип шаблона CalculatedContent поддерживает выражения в JMESPath.

  • Значение выражения (представленное свойством value ) неправильно отформатировано согласно синтаксису языка выражения.

Выражение и строка с ошибкой указываются в сообщении об ошибке.

Серьезность: блокировка

Исправление. На портал Azure перейдите в колонку Сопоставление устройств службы MedTech и исправьте выражение, указанное в сообщении об ошибке в сопоставлении устройств.

TemplateNotFoundException

Описание. Шаблон в сопоставлении устройств не имеет соответствующего шаблона с тем же типом в сопоставлении назначения FHIR. Тип шаблона указывается в сообщении об ошибке.

Серьезность: неблокировка

Исправление. На портал Azure перейдите в колонку Сопоставление устройств и колонку Назначение службы MedTech и убедитесь, что для каждого шаблона в сопоставлении устройств есть шаблон с тем же typeName значением в сопоставлении назначения FHIR.

UnauthorizedAccessEventHubException

Описание. У службы MedTech отсутствует доступ к концентратору событий.

Серьезность: блокировка

Исправление. На портал Azure перейдите в концентратор событий и назначьте роль приемника данных Центры событий Azure службе MedTech (см. инструкции).

Исключение UnauthorizedAccessFhirServiceException

Описание. У службы MedTech отсутствует доступ на запись к назначению FHIR.

Серьезность: блокировка

Исправление. На портал Azure перейдите в службу FHIR и назначьте роль записи данных FHIR службе MedTech (см. инструкции).

Примечание

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

Дальнейшие действия

Из этой статьи вы узнали, как устранять и устранять ошибки с помощью журналов службы MedTech.

Чтобы узнать о службе MedTech, часто задаваемые вопросы, см. раздел

FHIR® является зарегистрированным товарным знаком Health Level Seven International, зарегистрированным в Управлении по товарным знакам США и используемым с их разрешения.