Преобразование данных в FHIR для Azure API для FHIR
Внимание
Поддержка Azure API для FHIR будет прекращена 30 сентября 2026 г. Следуйте стратегиям миграции, чтобы перейти в службу FHIR® служб azure Health Data Services к этой дате. Из-за прекращения поддержки Azure API для FHIR с 1 апреля 2025 г. новые развертывания будут невозможны. Служба FHIR служб работоспособности Azure — это развивающаяся версия Azure API для FHIR, которая позволяет клиентам управлять службами FHIR, DICOM и MedTech с интеграцией с другими службами Azure.
Пользовательская $convert-data
конечная точка в службе FHIR® предназначена для преобразования данных из разных типов данных в FHIR. В ней применяются модуль шаблонов Liquid и шаблоны из проекта преобразователя FHIR в качестве шаблонов по умолчанию. Вы можете изменить эти шаблоны в соответствии с конкретными потребностями.
$convert-data
В настоящее время пользовательская конечная точка поддерживает четыре типа преобразования данных:
Формат данных источника | Формат данных назначения |
---|---|
C-CDA | FHIR |
HL7v2 | FHIR |
JSON | FHIR |
FHIR STU3 | FHIR R4 |
Примечание.
$convert-data
Конечная точка может использоваться в качестве компонента в конвейере экспорта, преобразования, загрузки (ETL) для преобразования необработанных данных здравоохранения из устаревших форматов в формат FHIR. Однако это не сам конвейер ETL. Мы рекомендуем использовать подсистему ETL, например Logic Apps или Фабрика данных Azure для полного рабочего процесса при подготовке данных FHIR, которые будут сохранены на сервере FHIR. Рабочий процесс может включать в себя чтение и прием данных, проверку данных, вызовы $convert-data
API, предварительную обработку данных, обогащение данных и отмену дублирования данных.
Использование конечной точки $convert-data
Операция $convert-data
интегрирована в службу FHIR, выполняемую как часть службы. После включения $convert-data
на сервере можно вызывать API для преобразования данных в FHIR с помощью https://<<FHIR service base URL>>/$convert-data
.
Ресурс параметров
$convert-data
принимает ресурс параметра в тексте запроса, как описано в следующей таблице. В тексте запроса вызова API можно включить следующие параметры:
имени параметра | Description | Допустимые значения |
---|---|---|
inputData | Преобразуемые данные. | Для Hl7v2 : строка Для Ccda : XML Для Json : JSON Для FHIR STU3 : JSON |
inputDataType | Тип входных данных. | HL7v2 , , Ccda Json Fhir |
templateCollectionReference | Ссылка на коллекцию шаблонов изображений OCI в Реестр контейнеров Azure (ACR). Это изображение, содержащее шаблоны Liquid для преобразования. Это может быть ссылка на шаблоны по умолчанию или пользовательский образ шаблона, зарегистрированный в службе FHIR. Ознакомьтесь со следующими сведениями о настройке шаблонов, размещении этих шаблонов в ACR и регистрации в службе 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_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_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": Ресурс STU3, например Name, "Пациент", "Наблюдение", "Организация". |
Примечание.
Шаблоны FHIR STU3 с R4 — это шаблоны "diff" Liquid, обеспечивающие сопоставление различий полей только между ресурсом STU3 и его эквивалентным ресурсом в стандарте FHIR R4. Некоторые ресурсы STU3 переименованы или удалены из R4. Обратитесь к различиям ресурсов и ограничениям преобразования STU3 в R4.
Примечание.
Шаблоны JSON — это примеры шаблонов для использования, а не шаблоны по умолчанию, которые соответствуют любым предварительно определенным типам сообщений JSON. JSON не имеет стандартных типов сообщений, в отличие от сообщений HL7v2 или документов CDA. Вместо шаблонов по умолчанию мы предоставляем некоторые примеры шаблонов, которые можно использовать в качестве начального руководства для собственных настраиваемых шаблонов.
Предупреждение
Шаблоны по умолчанию выпускаются в соответствии с лицензией MIT и не поддерживаются служба поддержки Майкрософт.
Шаблоны по умолчанию предоставляются только для начала работы. Они могут обновляться при обновлении версий API Azure для FHIR. Необходимо проверить поведение преобразования и разместить собственную копию шаблонов в Реестр контейнеров Azure, зарегистрировать их в AZURE API для FHIR, чтобы использовать в вызовах API. Это необходимо для согласованного преобразования данных в разных версиях AZURE API для FHIR.
Пример запроса
{
"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": "transaction",
"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 для Visual Studio Code. Это расширение поддерживает интерактивное редактирование и упрощает скачивание опубликованных корпорацией Майкрософт шаблонов и примеров данных. Дополнительные сведения см. в документации в расширении.
Примечание.
Расширение преобразователя FHIR для Visual Studio Code доступно для шаблонов HL7v2, C-CDA и JSON Liquid. Шаблоны FHIR STU3 в R4 Liquid в настоящее время не поддерживаются.
Размещение и использование шаблонов
Рекомендуется разместить собственную копию шаблонов в ACR. Существует четыре этапа, участвующих в размещении собственной копии шаблонов и использовании этих шаблонов в $convert-data
операции:
- передача шаблонов в Реестр контейнеров Azure;
- включение управляемого удостоверения в экземпляре Azure API для FHIR;
- предоставление управляемому удостоверению Azure API для FHIR доступа к Реестру контейнеров Azure;
- регистрация серверов Реестра контейнеров Azure в Azure API для FHIR.
- При необходимости настройте брандмауэр ACR для безопасного доступа.
Отправка шаблонов в Реестр контейнеров Azure
После создания экземпляра ACR можно использовать команду FHIR Converter: Push Templates в расширении преобразователя FHIR, чтобы отправить настраиваемые шаблоны в ACR. Кроме того, можно использовать средство командной строки управления шаблонами.
Включение управляемого удостоверения в Azure API для FHIR
Перейдите к экземпляру службы Azure API для FHIR в портал Azure, а затем выберите колонку "Удостоверение". Установите здесь состояние Включено, чтобы включить управляемое удостоверение в Azure API для FHIR.
Предоставление Azure API для FHIR доступа к Реестру контейнеров Azure
Перейдите к колонке управления доступом (IAM).
Нажмите кнопку "Добавить", а затем выберите "Добавить назначение роли", чтобы открыть страницу "Добавить назначение ролей".
Дополнительные сведения о назначении ролей в портал Azure см. в статье о встроенных ролях Azure.
Регистрация серверов Реестра контейнеров Azure в Azure API для FHIR.
Вы можете зарегистрировать сервер ACR с помощью портал Azure или с помощью интерфейса командной строки.
Регистрация сервера ACR с помощью портал Azure
Перейдите в колонку "Артефакты" в разделе "Преобразование данных" в экземпляре AZURE API для FHIR. Вы увидите список зарегистрированных серверов ACR. Выберите " Добавить" и выберите сервер реестра в раскрывающемся меню. Необходимо выбрать "Сохранить ", чтобы регистрация вступают в силу. Может потребоваться несколько минут, чтобы применить изменение и перезапустить экземпляр.
Регистрация сервера ACR с помощью CLI
Вы можете зарегистрировать до 20 серверов ACR в AZURE API для FHIR.
Установите azure Health Data Services CLI из Azure PowerShell при необходимости:
az extension add -n healthcareapis
Зарегистрируйте серверы acr в Azure API для FHIR, выполнив следующие примеры:
Регистрация одного сервера Реестра контейнеров Azure
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Регистрация нескольких серверов Реестра контейнеров Azure
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Настройка брандмауэра ACR
Выберите сеть для учетной записи хранения Azure на портале.
Выберите Выбранные сети.
В разделе "Брандмауэр" укажите IP-адрес в поле диапазона адресов. Добавьте диапазоны IP-адресов, чтобы разрешить доступ из Интернета или локальных сетей.
В следующей таблице вы найдете IP-адрес для региона Azure, где подготовлена служба Azure API для FHIR.
Регион Azure | Общедоступный IP-адрес |
---|---|
Восточная Австралия | 20.53.47.210 |
Южная Бразилия | 191.238.72.227 |
Центральная Канада | 20.48.197.161 |
Центральная Индия | 20.192.47.66 |
Восточная часть США | 20.62.134.242, 20.62.134.244, 20.62.134.245 |
Восточная часть США 2 | 20.62.60.115, 20.62.60.116, 20.62.60.117 |
Центральная Франция | 51.138.211.19 |
Северная Германия | 51.116.60.240 |
Центрально-Западная Германия | 20.52.88.224 |
Восточная Япония | 20.191.167.146 |
Западная Япония | 20.189.228.225 |
Республика Корея, центральный регион | 20.194.75.193 |
Центрально-северная часть США | 52.162.111.130, 20.51.0.209 |
Северная Европа | 52.146.137.179 |
Центральный Катар | 20.21.36.225 |
Северная часть ЮАР | 102.133.220.199 |
Центрально-южная часть США | 20.65.134.83 |
Юго-Восточная Азия | 20.195.67.208 |
Центральная Швеция | 51.12.28.100 |
Северная Швейцария | 51.107.247.97 |
южная часть Соединенного Королевства | 51.143.213.211 |
западная часть Соединенного Королевства | 51.140.210.86 |
Центрально-западная часть США | 13.71.199.119 |
Западная Европа | 20.61.103.243, 20.61.103.244 |
западная часть США 2 | 20.51.13.80, 20.51.13.84, 20.51.13.85 |
Западная часть США — 3 | 20.150.245.165 |
Примечание.
Описанные выше действия похожи на шаги конфигурации, описанные в документе "Экспорт данных FHIR". Дополнительные сведения см. в разделе "Безопасный экспорт" в служба хранилища Azure
Проверка
Вызов API, указывающий $convert-data
ссылку на шаблон в параметре templateCollectionReference.
<RegistryServer>/<imageName>@<imageDigest>
Следующие шаги
В этой статье вы узнали о преобразовании данных для Azure API для FHIR. Дополнительные сведения о связанных проектах GitHub для Azure API для FHIR см. в статье
Примечание.
FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .