Condividi tramite


Usare Set di dati SDOH - Trasformazioni (anteprima) nelle soluzioni per dati sanitari

[Questo articolo fa parte della documentazione non definitiva, pertanto è soggetto a modifiche.]

Questa sezione fornisce indicazioni su come inserire, trasformare e unificare set di dati SDOH (determinanti sociali della salute) usando Set di dati SDOH - Trasformazioni (anteprima) nelle soluzioni per dati sanitari.

Dopo aver completato i passaggi in Preparare set di dati pubblici in Set di dati SDOH - Trasformazioni (anteprima), i set di dati SDOH sono pronti per l'inserimento. Considera anche i seguenti requisiti:

  1. Assicurati che nessuno dei file sia aperto localmente per evitare che vengano caricate copie temporanee dei file.
  2. L'etichetta di riservatezza dei file deve essere impostata su Generale o Pubblico.

Per iniziare il processo di inserimento:

  1. Nel tuo ambiente delle soluzioni per dati sanitari, apri la pipeline di dati healthcare#_msft_sdoh_ingestion.

  2. Seleziona il pulsante Esegui.

Una volta completata l'esecuzione, i set di dati SDOH sono pronti per l'uso nei carichi di lavoro di analisi.

Comprendere il meccanismo di inserimento

L'esecuzione end-to-end di questa funzionalità comporta i seguenti passaggi consecutivi di alto livello:

  1. Inserire set di dati SDOH da OneLake nella cartella Ingest.
  2. Spostare i set di dati SDOH dalla cartella Ingest a Process.
  3. Convertire i set di dati SDOH in tabelle delta dedicate nel lakehouse Bronze.
  4. Inserire e convertire le tabelle delta Bronze in un modello di dati IDM (modello di dati del settore) nel lakehouse Silver.

Inserire set di dati SDOH da OneLake

L'esecuzione inizia dopo che hai caricato i set di dati SDOH nella cartella Ingest. Nella fase successiva, la pipeline di esecuzione sposta i file nella cartella Process nel lakehouse Bronze. In caso di errori, la pipeline sposta i file nella cartella Failed.

Per ulteriori informazioni su queste cartelle e sullo spostamento di file tra di esse, vedi Descrizioni delle cartelle.

Spostare set di dati SDOH

Il notebook raw_process_movement sposta i file nella cartella Process organizzata nel lakehouse Bronze. La struttura delle sottocartelle è la seguente: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders.

I file elaborati vengono archiviati nelle rispettive sottocartelle, con il timestamp di inserimento aggiunto all'inizio del nome di file.

Convertire i set di dati SDOH in tabelle delta

Dopo che i file vengono spostati nella cartella Process il notebook healthcare#_msft_bronze_ingestion popola le tabelle di metadati, layout e dati nel lakehouse Bronze nel formato di tabella delta. Le informazioni sul layout vengono popolate nella tabella SD_Layout, le informazioni sui metadati vengono popolate nella tabella SD_Metadata e i dati vengono popolati nelle singole tabelle di dati generate al runtime. Le tabelle di dati sono precedute dal prefisso SD_ e contengono il nome del foglio/file nel nome della tabella. Tutti i fogli di dati di ogni set di dati mantengono la struttura a tabella. Puoi confrontare il foglio di dati originale con la tabella delta Bronze corrispondente per comprendere la variazione.

Convertire le tabelle delta in un modello di dati Silver

Dopo un inserimento riuscito nel lakehouse bronzo, il notebook healthcare#_msft_bronze_silver_ingestion aiuta a definire un modello di dati personalizzato nel lakehouse Silver. Questo notebook:

  • Normalizza i dati nel lakehouse Bronze mantenendo nel contempo il contesto delle tabelle corrispondenti, consentendo di identificare o eseguire query sui dati nel contesto di origine.
  • Crea tabelle dedicate nel lakehouse Silver per ognuno dei contesti di origine.

Di seguito sono riportati le principali tabelle del lakehouse Silver:

  • SocialDeterminant: contiene i punti dati effettivi per ogni determinante sociale e i dettagli sulla località immessi nel foglio Configurazione località.
  • SocialDeterminantCategory: contiene la categoria di punti dati per ogni determinante sociale.
  • SocialDeterminantSubCategory: contiene la sottocategoria di punti dati per ogni determinante sociale.
  • UnitOfMeasure (tabella IDM): contiene i dettagli dell'unità di misura.
  • SocialDeterminantDataSetMetadata: contiene informazioni sul set di dati, ad esempio il nome del set di dati, l'editore e la data di pubblicazione.

Per comprendere la trasformazione del modello di dati personalizzato, puoi confrontare le tabelle delta del lakehouse Bronze con le rappresentazioni del lakehouse Silver. Le tabelle del modello di dati personalizzato differiscono per struttura e organizzazione rispetto alle tabelle convenzionali basate su FHIR.

Esempio: analizzare l'impatto dell'ambiente alimentare e delle condizioni socio-economiche sul diabete

Prendiamo in considerazione uno scenario in cui stiamo cercando di capire l'impatto dell'ambiente alimentare e delle condizioni socio-economiche di una contea sul numero di pazienti con diabete in quella contea.

L'ambiente alimentare e il reddito familiare medio rappresentano informazioni SDOH provenienti dai set di dati SDOH pubblici recentemente inseriti, in particolare l'Atlante dell'ambiente alimentare dell'USDA e i dati SDOH di AHRQ. Puoi utilizzare campi come il numero di fast-food, il numero di negozi di alimentari e il reddito familiare medio dal modello di dati SDOH (tabella SocialDeterminant) nel lakehouse Silver.

SELECT
  SocialDeterminantName,
  SocialDeterminantValue,
  SocialDeterminantDescription,
  parsedJson.CountyName AS CountyName,
  parsedJson.CountyFIPS AS CountyFIPS,
  parsedJson.StateName AS StateName
FROM
  healthcare1_msft_silver.SocialDeterminant sd
LATERAL VIEW json_tuple(sd.LocationJson, 'STATENAME', 'COUNTYNAME', 'COUNTYFIPS') parsedJson AS StateName, CountyName, CountyFIPS) sd
ON sd.CountyFIPS = fip_zip_mapping.STCOUNTYFP
WHERE
  sd.SocialDeterminantName IN ('GROC16', 'FFR16', 'ACS_MEDIAN_HH_INC')
AND sd.SocialDeterminantValue IS NOT NULL

D'altra parte, il numero di pazienti con diabete si riferisce alle informazioni cliniche provenienti dalla pipeline clinica delle soluzioni per dati sanitari, che devono anche essere distribuite e installate. Puoi inserire dati clinici in questa pipeline o usare i dati di esempio clinici forniti. Utilizza campi come l'indirizzo del paziente e le condizioni del paziente per recuperare le misure richieste.

WITH ExpandedPatients AS (
  SELECT
    p.id_orig,
    address_item.postalCode AS postalCode,
    address_item.state AS state
  FROM
    healthcare1_msft_silver.patient p
    LATERAL VIEW explode(p.address) exploded_address AS address_item
)
SELECT
  fzm.STCOUNTYFP,
  SUM(CASE WHEN c.code.text LIKE '%Asthma%' THEN 1 ELSE 0 END) AS Total_Asthma_Patients,
  SUM(CASE WHEN c.code.text LIKE '%Diabetes%' THEN 1 ELSE 0 END) AS Total_Diabetes_Patients,
  SUM(CASE WHEN c.code.text LIKE '%Hypertension%' THEN 1 ELSE 0 END) AS Total_Hypertension_Patients
FROM
  ExpandedPatients ep
JOIN healthcare1_msft_silver.condition c ON ep.id_orig = c.subject.id_orig
JOIN healthcare1_msft_silver.fips_zip_mapping fzm ON ep.postalCode = fzm.ZIP
GROUP BY
  fzm.STCOUNTYFP

Intrinsecamente, non esiste una relazione diretta tra questi due set di dati. L'elemento di collegamento è il dettaglio della loro posizione:

  • I dati sull'ambiente alimentare sono disponibili a livello di contea e sono accessibili espandendo la colonna Locationjson nella tabella SocialDeterminant e utilizzando il campo CountyFIPS.
  • I dati clinici contengono gli indirizzi dei pazienti in formato FHIR, da cui è possibile recuperare informazioni sulla contea. Se è disponibile solo il codice postale del paziente, puoi recuperarlo e creare una tabella di mapping dei codici postali ai codici FIPS da collegare al set di dati SDOH. Questa tabella di mapping è prontamente disponibile nei repository di dati pubblici.

Una volta preparati i dati sulla posizione, puoi collegare i due set di dati per creare una query sul lakehouse Gold che visualizzi tutti i punti dati necessari. Di seguito è riportato un esempio di query SQL:

FROM
   social_determinants sd
JOIN
   patient_conditions pc
ON
   sd.CountyFIPS = pc.STCOUNTYFP

Ora puoi analizzare e visualizzare il set di dati finale per determinare la relazione tra il numero di pazienti con diabete e la presenza di fast-food. Pertanto, il livello Silver consente una solida normalizzazione dei dati, consentendo di creare query e ricavare informazioni dettagliate complete in e tra diversi set di dati.