Condividi tramite


Aggiungere intestazioni HTTP personalizzate ai log di audit nel servizio FHIR

Importante

L'API di Azure per FHIR verrà ritirata il 30 settembre 2026. Seguire le strategie di migrazione per passare al servizio FHIR® di Servizi per i dati sanitari di Azure entro tale data. A causa del ritiro dell'API di Azure per FHIR, le nuove distribuzioni non saranno consentite a partire dal 1° aprile 2025. Il servizio FHIR di Servizi per i dati sanitari di Azure è la versione evoluta dell'API di Azure per FHIR che consente ai clienti di gestire i servizi FHIR, DICOM e MedTech con integrazioni in altri servizi di Azure.

In API di Azure per FHIR® (Fast Healthcare Interoperability Resources) un utente potrebbe voler includere informazioni aggiuntive nei log, che provengono dal sistema chiamante.

Ad esempio, quando l'utente dell'API viene autenticato da un sistema esterno, quest'ultimo inoltra la chiamata all'API per FHIR. Al livello di API per FHIR le informazioni sull'utente originale vanno perse perché la chiamata è stata inoltrata. Potrebbe essere necessario registrare e conservare queste informazioni dell'utente a scopo di controllo o di gestione. Nelle intestazioni HTTP il sistema chiamante può fornire l'identità dell'utente, la posizione del chiamante o altre informazioni necessarie, che vengono trasferite quando la chiamata viene inoltrata.

È possibile usare le intestazioni personalizzate per acquisire diversi tipi di informazioni. Ad esempio:

  • Informazioni su identità o autorizzazioni
  • Origine del chiamante
  • Organizzazione di origine
  • Dettagli del sistema client (cartella clinica elettronica, portale del paziente)

Importante

Tenere presente che le informazioni inviate nelle intestazioni personalizzate vengono archiviate in un sistema di registrazione interno Microsoft per 30 giorni dopo essere state rese disponibili in Monitoraggio log di Azure. È consigliabile crittografare tutte le informazioni prima di aggiungerle alle intestazioni personalizzate. Non è consigliabile passare informazioni personali tramite intestazioni personalizzate.

Per le intestazioni HTTP, è necessario usare la convenzione di denominazione seguente: X-MS-AZUREFHIR-AUDIT-<nome>.

Queste intestazioni HTTP sono incluse in un elenco di proprietà aggiunto al log. Ad esempio:

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

Queste informazioni vengono quindi serializzate in JSON quando vengono aggiunte alla colonna di proprietà nel log. Ad esempio:

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

Come per qualsiasi intestazione HTTP, lo stesso nome di intestazione può essere ripetuto con valori diversi. Ad esempio:

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

Quando vengono aggiunti al log, i valori vengono combinati con un elenco delimitato da virgole. Ad esempio:

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

È possibile aggiungere un massimo di 10 intestazioni univoche (le ripetizioni della stessa intestazione con valori diversi vengono conteggiate come una). La lunghezza massima totale del valore per qualsiasi intestazione è 2048 caratteri.

Se si usa la libreria di API client Firefly C#, il codice sarà simile al seguente:

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");

Passaggi successivi

In questo articolo si è appreso come aggiungere dati ai log di controllo usando intestazioni personalizzate nell'API di Azure per FHIR. Per informazioni sulle impostazioni di configurazione di API di Azure per FHIR, vedere

FHIR è un marchio registrato di HL7, usato con l'autorizzazione di HL7.