Общие сведения о сопоставлении назначения службы 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.
Примечание.
Наблюдение FHIR на этой схеме не является полным ресурсом. См . пример в этом обзоре для всего наблюдения FHIR.
CollectionFhir
CollectionFhir — это тип корневого шаблона, используемый сопоставлением назначения службы MedTech. CollectionFhir — это список всех шаблонов, используемых на этапе преобразования. Вы можете определить один или несколько шаблонов в CollectionFhir, при этом каждое нормализованное сообщение вычисляется по всем шаблонам.
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 .