共用方式為


FHIR 服務中的$convert數據

注意

在 2024 年 5 月,我們發行了與 FHIR 服務分離的獨立 FHIR 轉換器 API,並封裝為 容器 (Docker) 映射 以供 預覽。 除了可讓您將數據從記錄來源轉換成 FHIR R4 套件組合之外,FHIR 轉換器還提供許多淨新功能,例如:

  • 從記錄來源到 FHIR R4 套件組合和返回的雙向數據轉換。 例如,FHIR 轉換器可以將 FHIR R4 格式的數據轉換回 HL7v2 格式。
  • 改善自定義預設 Liquid 範本的體驗。
  • 示範如何使用 Azure Data Factory 建立 ETL(擷取、轉換、載入)管線的範例。

若要實作 FHIR 轉換器容器映像,請參閱 FHIR 轉換器 GitHub 專案

$convert-data FHIR® 服務中的作業可讓您將健康情況數據從各種格式轉換成 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 AppsAzure 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、 、 CcdaJsonFhir
templateCollectionReference Azure Container RegistryOCI 映像範本集合的參考。 參考是指參照映像,其中含有要用於轉換的 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 範本是建置您自己的轉換對應時使用的範本範本。 它們不是遵守任何預先定義健康情況數據訊息類型的預設範本。 JSON 本身不會指定為健康情況數據格式,不像 HL7v2 或 C-CDA。 因此,我們不會提供預設 JSON 範本,而是提供一些範例 JSON 範本作為您自己的自定義對應起點。

警告

默認範本會在 MIT 授權下發行,Microsoft 不支援。

範本僅用於協助您入門資料轉換工作流程。 這些預設範本不適用於生產環境,而且可能會隨著 Microsoft 發行 FHIR 服務的更新而變更。 若要在不同版本的 FHIR 服務上保持一致的資料轉換行為,您必須執行下列動作:

  1. 在 Azure Container Registry 執行個體中裝載您自己的範本複本。
  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 v4.0.1
  • 如果您嘗試針對特定配置檔進行驗證,則必須利用 FHIR $validate 作業來執行一些後續處理。

下一步

使用 Azure 入口網站設定 $convert-data

針對 $convert-data 進行疑難排解

$convert-data 常見問題

注意

FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。