Поделиться через


$convert-данные в службе FHIR

Примечание.

В мае 2024 года мы выпустили автономный API преобразователя FHIR, разделенный из службы FHIR и упакованный как образ контейнера (Docker) для предварительной версии. Помимо включения преобразования данных из источника записи в пакеты FHIR R4 преобразователь FHIR предлагает множество новых возможностей, таких как:

  • Двунаправленное преобразование данных из источника записи в пакеты FHIR R4 и обратно. Например, преобразователь FHIR может преобразовать данные из формата FHIR R4 обратно в формат HL7v2.
  • Улучшена настройка шаблонов Liquid по умолчанию.
  • Примеры, демонстрирующие создание конвейера ETL (извлечение, преобразование, загрузка) с помощью Фабрика данных Azure (ADF).

Сведения о реализации образа контейнера преобразователя FHIR см. в проекте GitHub преобразователя FHIR.

Операция $convert-data в службе FHIR позволяет преобразовать данные о работоспособности из различных форматов в данные FHIR® R4 . Операция $convert-data использует шаблоны Liquid из проекта преобразователя FHIR для преобразования данных FHIR. Вы можете изменить эти шаблоны в соответствии с конкретными потребностями.

Операция $convert-data поддерживает четыре типа преобразования данных:

  • HL7v2 до FHIR R4
  • C-CDA в FHIR R4
  • JSON в FHIR R4 (предназначен для пользовательских сопоставлений преобразований)
  • FHIR STU3 в FHIR R4

Использование конечной точки $convert-data

$convert-data Используйте конечную точку в качестве компонента в конвейере ETL (извлечение, преобразование и загрузка) для преобразования данных работоспособности из различных форматов (например, HL7v2, CCDA, JSON и FHIR STU3) в формат FHIR. Создайте конвейер ETL для полного рабочего процесса при преобразовании данных о работоспособности. Мы рекомендуем использовать подсистему ETL на основе Azure Logic Apps или Фабрика данных Azure. Например, рабочий процесс может включать прием данных, выполнение $convert-data операций, проверку, предварительную и после обработку данных, обогащение данных, дедупликацию данных и загрузку данных для сохраняемости в службе FHIR.

Операция $convert-data интегрирована в службу FHIR в качестве действия REST API. Вы можете вызвать конечную точку $convert-data следующим образом:

POST {{fhirurl}}/$convert-data

Данные о работоспособности преобразования доставляются в службу FHIR в тексте $convert-data запроса. Если запрос выполнен успешно, служба FHIR возвращает ответ пакета FHIR с данными, преобразованными в FHIR R4.

Параметры

Вызов $convert-data операции упаковает данные работоспособности для преобразования внутри отформатированных в формате JSON параметров в тексте запроса. Параметры описаны в следующей таблице.

Наименование параметра Описание Допустимые значения
inputData Полезные данные для преобразования в FHIR. Для Hl7v2: строка
Для Ccda: XML
Для Json: JSON
Для FHIR STU3: JSON
inputDataType Тип входных данных. Hl7v2, , CcdaJsonFhir
templateCollectionReference Ссылка на коллекцию шаблонов изображений OCI в Реестр контейнеров Azure. Ссылка на изображение, содержащее шаблоны Liquid для преобразования. Он может ссылаться на шаблоны по умолчанию или на пользовательский образ шаблона, зарегистрированный в службе FHIR. В следующих разделах описывается настройка шаблонов, размещение их на Реестр контейнеров Azure и регистрация в службе FHIR. Для шаблонов по умолчанию и примеров :
Шаблоны HL7v2 :
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
Шаблоны C-CDA :
microsofthealth/ccdatemplates:default
Шаблоны JSON :
microsofthealth/jsontemplates:default
Шаблоны STU3 FHIR:
microsofthealth/stu3tor4templates:default

Для пользовательских шаблонов:
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate Корневой шаблон, используемый при преобразовании данных. Для HL7v2:
ADT_A01, ADT_A02, ADT_A03, ADT_A04, ADT_A05, ADT_A08, ADT_A11, ADT_A13, ADT_A14, ADT_A15, ADT_A16, ADT_A25, ADT_A26, ADT_A27, ADT_A28, ADT_A29, ADT_A31, ADT_A47, ADT_A60, OML_O21, ORU_R01, ORM_O01, VXU_V04, SIU_S12, SIU_S13, SIU_S14, SIU_S15, SIU_S16, SIU_S17, SIU_S26, MDM_T01, MDM_T02

Для C-CDA:
CCD, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Для JSON:
ExamplePatient, Stu3ChargeItem

Для FHIR STU3:
Имя ресурса FHIR STU3 (например, "Пациент", "Наблюдение", "Организация")

Рекомендации

  • Шаблоны FHIR STU3 с FHIR R4 — это шаблоны Liquid, обеспечивающие сопоставление различий полей только между ресурсом FHIR STU3 и эквивалентным ресурсом в спецификации FHIR R4. Некоторые ресурсы STU3 FHIR переименованы или удалены из FHIR R4. Дополнительные сведения о различиях ресурсов и ограничениях для преобразования FHIR STU3 в FHIR R4 см. в разделе "Различия ресурсов и ограничения для преобразования FHIR STU3 в FHIR R4".

  • Шаблоны JSON — это примеры шаблонов для создания собственных сопоставлений преобразований. Они не являются шаблонами по умолчанию, которые соответствуют любым предопределенным типам сообщений данных о работоспособности. Сам JSON не указан как формат данных работоспособности, в отличие от HL7v2 или CDA. Поэтому вместо предоставления шаблонов JSON по умолчанию мы предоставляем некоторые примеры шаблонов JSON в качестве отправной точки для собственных настраиваемых сопоставлений.

Предупреждение

Шаблоны по умолчанию выпускаются в соответствии с лицензией MIT и не поддерживаются корпорацией Майкрософт.

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

  1. Размещайте собственную копию шаблонов в экземпляре Реестр контейнеров Azure.
  2. Зарегистрируйте шаблоны в службе FHIR.
  3. Используйте зарегистрированные шаблоны в вызовах API.
  4. Убедитесь, что поведение преобразования соответствует вашим требованиям.

Дополнительные сведения о размещении собственных шаблонов см. в разделе "Размещение собственных шаблонов"

Образец запроса

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "inputData",
            "valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
        },
        {
            "name": "inputDataType",
            "valueString": "Hl7v2"
        },
        {
            "name": "templateCollectionReference",
            "valueString": "microsofthealth/fhirconverter:default"
        },
        {
            "name": "rootTemplate",
            "valueString": "ADT_A01"
        }
    ]
}

Пример ответа

{
    "resourceType": "Bundle",
    "type": "batch",
    "entry": [
        {
            "fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
            "resource": {
                "resourceType": "Patient",
                "id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
          ...
          ...
            },
            "request": {
                "method": "PUT",
                "url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
            }
        }
    ]
}

Результат преобразования FHIR — это пакет FHIR в виде пакета.

  • Пакет FHIR должен соответствовать ожиданиям спецификации FHIR R4 — пакет — FHIR версии 4.0.1.
  • Если вы пытаетесь проверить наличие определенного профиля, необходимо выполнить некоторую после обработки, используя операцию FHIR $validate .

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

Настройка параметров для $convert-данных с помощью портал Azure

Устранение неполадок $convert-данных

вопросы и ответы по $convert-данным

Примечание.

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