Trasformazione e armonizzazione dei dati sanitari per BigQuery

Questo documento descrive i processi e le considerazioni relativi all'armonizzazione dei dati sanitari su Google Cloud per ricercatori, data scientist e team IT che vogliono creare un data lake di analisi in BigQuery.

Armonizzando i dati, puoi riunire quelli di diversi formati e standard e poi trasformarli in un unico set di dati coeso e standardizzato, pronto per l'analisi approfondita. Per armonizzare i dati, devi convalidare le origini dati e poi creare una serie di pipeline per modificare i dati attraverso trasformazione strutturale, conversione, risoluzione delle identità e anonimizzazione.

Convalida dei dati di origine in corso...

I dati clinici possono essere imprecisi e incompleti nel loro formato non elaborato, quindi è necessario valutare la qualità dei dati in entrata prima della loro trasformazione. Un controllo di convalida include i seguenti processi:

  • Assicura che siano presenti gli elementi di dati necessari.
  • Conferma i conteggi dei dati in modo che il data lake di origine e di importazione hanno lo stesso numero di conteggi di dati.
  • Verifica che gli intervalli di valori siano ragionevoli prima di investire le risorse di calcolo.

Google Cloud fornisce i seguenti modi per convalidare i dati di origine:

  • Cloud Data Fusion prepara i dati in modo che tu possa visualizzare ed esplorare un piccolo sottoinsieme di dati (massimo 1000 righe).
  • BigQuery consente di eseguire molte convalide con SQL. In caso di discrepanze nei dati, puoi creare una vista per concedere l'accesso agli utenti identificati per la convalida o esportare le righe selezionate in Fogli Google per l'annotazione e la collaborazione con un team.
  • Per i controlli automatici della qualità dei dati, puoi creare istruzioni definite dall'utente (UDD) utilizzando Cloud Data Fusion. Gli UDD consentono di specificare l'elaborazione personalizzata, i controlli dei dati e le funzioni in Cloud Data Fusion. La creazione di UDD abilita anche il flag automatico dei valori anomali.

Trasformazione dei dati e creazione di una pipeline

La trasformazione strutturale è un passaggio importante nella creazione di una pipeline di trasformazione dei dati e include la mappatura, l'analisi e la formattazione dei dati.

Se utilizzi l'API Cloud Healthcare come metodo di importazione, non è necessario analizzare o indicizzare i dati. L'API Cloud Healthcare offre flessibilità con i formati dei dati in entrata, accettando risorse e pacchetti sia in formati JSON multiriga che in formati JSON delimitato da nuova riga. Ad esempio, se utilizzi il tipo di dati FHIR (Fast Healthcare Interoperability Resources), non devi sviluppare un parser JSON personalizzato. Puoi invece utilizzare le funzionalità integrate dell'API Cloud Healthcare per importare i dati.

Puoi anche eseguire trasformazioni strutturali per le conversioni, ad esempio la conversione di un tipo di dati HL7v2 in un tipo di dati FHIR o la conversione del tipo di dati FHIR in SQL su schema FHIR.

Cloud Data Fusion dispone di una vasta gamma di plug-in predefiniti per l'analisi, la formattazione, la compressione e la conversione dei dati. Cloud Data Fusion include anche Wrangler, uno strumento di visualizzazione che filtra, pulisce, formatta e proietta i dati in modo interattivo sulla base di un piccolo campione (1000 righe) del set di dati. Dopo aver definito la trasformazione, Wrangler genera automaticamente una pipeline Dataproc che applica le modifiche al set di dati completo.

Per trasformazioni più avanzate, puoi utilizzare un linguaggio di mappatura basato sulla configurazione per la definizione, la gestione e la portabilità delle mappature strutturali.

Risolvere l'identità dei pazienti

Un passaggio importante nella trasformazione dei dati è la corrispondenza dei record con gli identificatori univoci dei pazienti (UPI) corrispondenti. Creando corrispondenze tra i record, puoi creare un record longitudinale che può aiutarti a identificare incoerenze e duplicazioni nei dati e a garantire trasformazioni coerenti dei dati tra le singole cartelle dei pazienti. Puoi trovare una corrispondenza tra i record dei pazienti chiamando un indice paziente principale (MPI) con pipeline o modelli personalizzati. Se consolida i dati tramite FHIR, puoi utilizzare anche un parametro di ricerca dell'identificatore del paziente per unire i record.

Conversione della terminologia

Gli ambienti terminologici clinici cambiano spesso a causa dei sistemi di programmazione, degli enti governativi e delle esigenze organizzative. Quando combini record storici con risorse appena create, possono emergere incoerenze tra la terminologia precedente e quella attuale. La conversione e l'armonizzazione dei termini clinici contribuiscono a garantire la coerenza e la continuità tra i vecchi e i nuovi standard terminologici.

Conversione delle unità di misura

Le unità di misura possono variare ampiamente in base alle origini di importazione, alle organizzazioni che effettuano la misurazione e alla regione geografica. Negli Stati Uniti, ad esempio, il peso di un neonato viene spesso misurato in grammi, mentre il peso di un adulto di solito si misura in libbre. La conversione e l'armonizzazione delle unità di misura aiuta a garantire che l'analisi acquisisca tutte le unità di misura e includa tutte le popolazioni di pazienti.

Anonimizzazione dei dati

L'anonimizzazione è l'ultimo passaggio del processo di trasformazione perché può interferire con la capacità di armonizzare i dati, in particolare nella risoluzione dell'identità e nell'estrazione delle entità cliniche. Ad esempio, se anonimizza troppo presto la pipeline, potresti non essere in grado di eseguire la risoluzione accurata dell'identità necessaria per l'armonizzazione. Google Cloud offre molte opzioni, tra cui le personalizzazioni, per aiutarti ad anonimizzare e ad assegnare pseudonimi ai dati sanitari.

Per i dati di testo non strutturati o i dati strutturati tradizionali come i file CSV, puoi utilizzare Sensitive Data Protection per classificare e oscurare elementi di dati sensibili. Sensitive Data Protection ti consente anche di personalizzare l'anonimizzazione in base alle tue esigenze di sicurezza e ai tuoi casi d'uso utilizzando tecniche come mascheramento, hashing sicuro, tokenizzazione, bucket e crittografia con protezione del formato.

L'API Cloud Healthcare ha anche funzionalità di anonimizzazione integrate, disponibili per i set di dati DICOM (Digital Imaging and Communications in Medicine) e FHIR. Questa opzione è utile quando vuoi conservare il modello dei dati iniziale.

Se gestisci dati delle serie temporali in formato FHIR, puoi preservare la sequenza delle risorse basata su UPI. Ciò significa che quando utilizzi la funzionalità date-shift, puoi assicurarti che l'ordine delle risorse sia mantenuto.

Utilizzo dello spazio di archiviazione intermedio

Come best practice, archivia i risultati di ogni trasformazione in uno spazio di archiviazione intermedio temporaneo, in modo da poter risolvere i problemi o tornare allo stato precedente di trasformazione dei dati in una richiesta di ripristino di emergenza. Puoi riscrivere l'archiviazione intermedia ogni volta che viene eseguita la pipeline, sotto forma di esportazione non elaborata in Cloud Storage in BigQuery.

Comprensione dell'architettura della pipeline

Il seguente diagramma mostra le pipeline per la trasformazione e l'armonizzazione dei dati.

Pipeline per la trasformazione e l'armonizzazione dei dati.

Il diagramma precedente mostra l'intero processo di spostamento dei dati attraverso le pipeline, inclusi tutti i passaggi necessari per la trasformazione e l'armonizzazione. I dati vengono prima importati come dati non elaborati, quindi progrediscono attraverso la pipeline di trasformazione strutturale e la pipeline di risoluzione delle identità. I dati sono quindi sottoposti a ulteriori trasformazioni, ad esempio la conversione terminologica e l'anonimizzazione, e vengono emessi dalla pipeline di output a BigQuery, dove vengono archiviati come dati armonizzati e pronti per l'analisi. Inoltre, i metadati nell'archiviazione intermedia vengono scritti automaticamente in fase di runtime e archiviati in BigQuery come dati di provenienza e derivazione.

Il diagramma mostra anche due passaggi intermedi di archiviazione in cui, come best practice, è possibile archiviare ogni set di dati tra le fasi della pipeline.

Passaggi successivi