共用方式為


在 FHIR 服務中新增自訂 HTTP 標頭以稽核記錄

重要

Azure API for FHIR 將於 2026 年 9 月 30 日淘汰。 請依照移轉策略,在該日期前轉換至 Azure 健康資料服務 FHIR® 服務。 由於 Azure API for FHIR 已淘汰,因此從 2025 年 4 月 1 日開始,將不允許新的部署。 Azure 健康資料服務 FHIR 服務是 Azure API for FHIR 的進化版本,可讓客戶透過與其他 Azure 服務整合來管理 FHIR、DICOM 和醫療技術服務。

在 Azure 快速健康照護互通資源 (FHIR®) API 中,使用者可能會想要在記錄檔 (其來自呼叫端系統) 中包含其他資訊。

例如,當 API 的使用者由外部系統驗證時,該系統會將呼叫轉送至 FHIR API。 在 FHIR API 層,因為已轉送該呼叫,原始使用者的相關資訊會遺失。 可能需要記錄並保留此使用者資訊,以供進行稽核或管理之用。 呼叫端系統可以提供使用者身分識別、呼叫端位置,或 HTTP 標頭中的其他必要資訊,其會在轉送呼叫時一起傳送。

您可以使用自訂標頭來擷取數個類型的資訊。 例如:

  • 識別或授權資訊
  • 呼叫端的來源
  • 原始組織
  • 用戶端系統詳細資料 (電子健康記錄、病患入口網站)

重要

請注意,在自訂標頭中傳送的資訊,於 Azure 記錄監視中提供後,會儲存在 Microsoft 內部記錄系統中 30 天。 我們建議您在將任何資訊新增至自訂標頭之前,先將其加密。 您不應該透過客戶標頭傳遞任何 PHI 資訊。

您必須針對 HTTP 標頭使用下列命名慣例:X-MS-AZUREFHIR-AUDIT-<名稱>。

這些 HTTP 標頭會包含在新增至記錄檔的屬性包中。 例如:

  • X-MS-AZUREFHIR-AUDIT-USERID: 1234
  • X-MS-AZUREFHIR-AUDIT-USERLOCATION: XXXX
  • X-MS-AZUREFHIR-AUDIT-XYZ: 1234

然後此資訊會在新增至記錄檔中的屬性資料行時序列化至 JSON。 例如:

{ "X-MS-AZUREFHIR-AUDIT-USERID" : "1234",
"X-MS-AZUREFHIR-AUDIT-USERLOCATION" : "XXXX",
"X-MS-AZUREFHIR-AUDIT-XYZ" : "1234" }

就像任何 HTTP 標頭一樣,可以使用不同的值來重複相同的標頭名稱。 例如:

  • X-MS-AZUREFHIR-AUDIT-USERLOCATION: HospitalA
  • X-MS-AZUREFHIR-AUDIT-USERLOCATION: Emergency

新增至記錄檔時,會使用逗號分隔的清單結合值。 例如:

{ "X-MS-AZUREFHIR-AUDIT-USERLOCATION" : "HospitalA, Emergency" }

您最多可以新增 10 個唯一的標頭 (具有相同標頭但不同值的重複項目只會被計為一個)。 任一個標頭的值最大長度為 2048 個字元。

如果您使用的是 Firefly C# 用戶端 API 程式庫,則程式碼會看起來像這樣:

FhirClient client;
client = new FhirClient(serverUrl);
client.OnBeforeRequest += (object sender, BeforeRequestEventArgs e) =>
{
    // Add custom headers to be added to the logs
    e.RawRequest.Headers.Add("X-MS-AZUREFHIR-AUDIT-UserLocation", "HospitalA");
};
client.Get("Patient");

下一步

在本文中,您已了解如何在 Azure API for FHIR 中使用自訂標頭將資料新增至稽核記錄。 如需 Azure API for FHIR 組態設定的相關資訊,請參閱

FHIR® 是 HL7 的註冊商標,可與 HL7 的權限搭配使用。