FHIR 服務中的 $convert-data
注意
在 2024 年 5 月,我們發行了自外於 FHIR 服務的獨立 FHIR® 轉換器 API,並封裝成容器 (Docker) 映像 (英文) 以供預覽。 除可讓您將資料從記錄來源轉換成 FHIR R4 套件組合之外,FHIR 轉換器還提供許多全新功能,例如:
- 從記錄來源到 FHIR R4 套件組合,或從 FHIR R4 套件組合到記錄來源雙向轉換資料。 例如,FHIR 轉換器可以將 FHIR R4 格式的資料,轉換回 HL7v2 格式。
- 改善預設 Liquid 範本的自訂體驗。
- 提供示範如何使用 Azure Data Factory (ADF) 建立 ETL (擷取、轉換、載入) 管線的範例。
若要實作 FHIR 轉換器容器映像,請參閱 FHIR 轉換器 GitHub 專案。
FHIR® 服務中的 $convert-data
作業可讓您將各種格式的健康資料,轉換成 FHIR R4 資料。 $convert-data
作業會使用 FHIR 轉換器專案中的 Liquid 範本,進行 FHIR 資料轉換。 您可以視需要自訂這些轉換範本。
$convert-data
作業支援四種類型的資料轉換:
- HL7v2 至 FHIR R4
- C-CDA 至 FHIR R4
- JSON 至 FHIR R4 (用於自訂轉換對應)
- FHIR STU3 至 FHIR R4
使用 $convert 資料端點
使用 $convert-data
端點作為 ETL (擷取、轉換、載入) 管線中的元件,將健康資料從各種格式 (例如:HL7v2、CCDA、JSON 和 FHIR STU3) 轉換為 FHIR 格式。 為轉換健康資料的整個工作流程,建立一個 ETL 管線。 建議您使用搭載 Azure Logic Apps 或 Azure Data Factory 的 ETL 引擎。 例如,工作流程可能包括資料嵌入、執行 $convert-data
作業、驗證、資料的前後處理、資料擴充、重複資料刪除,以及載入資料,持續保存在 FHIR 服務中。
$convert-data
作業會整合到 FHIR 服務中成為 REST API 動作。 您可以呼叫 $convert-data
端點,如下所示:
POST {{fhirurl}}/$convert-data
轉換的健康資料會傳遞至 $convert-data
要求主體中的 FHIR 服務。 如果要求成功,FHIR 服務會傳回 FHIR 套件組合回應,其中包含轉換成 FHIR R4 的資料。
參數
$convert-data
作業呼叫會將要轉換的健康資料,封裝在要求主體中,JSON 格式的參數內。 下表是這些參數的描述。
參數名稱 | 描述 | 接受的值 |
---|---|---|
inputData | 要轉換成 FHIR 的資料承載。 | 若為 Hl7v2 :字串 若為 Ccda :XML 若為 Json :JSON 若為 FHIR STU3 :JSON |
inputDataType | 資料輸入的類型。 | Hl7v2 , Ccda , Json , Fhir |
templateCollectionReference | Azure Container Registry 中 OCI 映像範本集合的參考。 參考是指參照映像,其中含有要用於轉換的 Liquid 範本。 其可參照預設範本,或登錄在 FHIR 服務中的自訂範本映像。 下列各節說明如何自訂範本、在 Azure Container Registry 上裝載範本,以及向 FHIR 服務註冊。 | 若為預設/範例範本: HL7v2 範本: microsofthealth/fhirconverter:default microsofthealth/hl7v2templates:default C-CDA 範本: microsofthealth/ccdatemplates:default JSON 範本: microsofthealth/jsontemplates:default FHIR STU3 範本: 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 資源名稱 (例如 Patient、Observation、Organization) |
考量
FHIR STU3 至 FHIR R4 範本是 Liquid 範本,只提供 FHIR STU3 資源與對等 FHIR R4 規格資源之間的欄位差異對應。 某些 FHIR STU3 資源會重新命名或從 FHIR R4 中移除。 如需 FHIR STU3 到 FHIR R4 轉換之資源差異和條件約束的詳細資訊,請參閱 FHIR STU3 到 FHIR R4 轉換的資源差異和條件約束。
JSON 範本是建置您自己的轉換對應時使用的範本範本。 這些範本並不是遵循任何預先定義之健康資料訊息類型的預設範本。 和 HL7v2 或 C-CDA 不同,JSON 本身未被指定為健康資料格式。 因此,我們不提供預設 JSON 範本,而是提供一些 JSON 範本範例,作為您自訂對應時的起始點。
警告
預設範本的發行係依據 MIT 授權,因此 Microsoft 不予支援。
範本僅用於協助您入門資料轉換工作流程。 這些預設範本不適用於生產環境,而且可能會隨著 Microsoft 發行 FHIR 服務的更新而變更。 若要在不同版本的 FHIR 服務上保持一致的資料轉換行為,您必須執行下列動作:
- 在 Azure Container Registry 執行個體中裝載您自己的範本複本。
- 向 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 v4.0.1。
- 若您要嘗試針對特定設定檔進行驗證,必須使用 FHIR $validate 作業,執行一些後處理。
下一步
注意
FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。