$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 , , Ccda Json Fhir |
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, необходимо выполнить следующее:
- Размещайте собственную копию шаблонов в экземпляре Реестр контейнеров Azure.
- Зарегистрируйте шаблоны в службе FHIR.
- Используйте зарегистрированные шаблоны в вызовах API.
- Убедитесь, что поведение преобразования соответствует вашим требованиям.
Дополнительные сведения о размещении собственных шаблонов см. в разделе "Размещение собственных шаблонов"
Образец запроса
{
"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-data
Вопросы и ответы по $convert-data
Примечание.
FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .