Použití datových sad SDOH - transformace (Preview) v řešeních pro zdravotní data
[Tento článek představuje předběžnou dokumentaci a může se změnit.]
Tato část obsahuje pokyny k přijetí, transformaci a sjednocení datových sad SDOH (sociální determinanty zdraví) pomocí datových sad SDOH – transformace (Preview) v Řešeních pro zdravotní data.
Po dokončení kroků v části Příprava veřejných datových sad v datových sadách SDOH – transformace (Preview) jsou datové sady SDOH připravené k příjmu dat. Zvažte také následující požadavky:
- Ujistěte se, že žádný ze souborů není otevřen místně, aby se zabránilo nahrání dočasných kopií souborů.
- Popisek citlivosti souborů musí být nastavený na Obecné nebo Veřejné.
Zahájení procesu příjmu dat:
V prostředí datových řešení pro zdravotnictví otevřete datový kanál healthcare#_msft_sdoh_ingestion.
Vyberte tlačítko Spustit.
Po úspěšném spuštění jsou vaše datové sady SDOH připraveny k použití v analytických úlohách.
Pochopení mechanismu přijetí dat
Kompletní spuštění této funkce zahrnuje následující po sobě jdoucí kroky vysoké úrovně:
- Ingestujte datové sady SDOH z OneLake do složky Ingest.
- Přesuňte datové sady SDOH ze složky Ingestovat do složky Zpracovat.
- Převeďte datové sady SDOH na vyhrazené rozdílové tabulky v bronzovém transakčním jezeře.
- Ingestujte a převádějte tabulky delta bronzového transakčního jezera na tabulky datového modelu inspirovaného datovým modelem odvětví (IDM) ve stříbrném transakčním jezeře.
Ingestace datových sad SDOH z OneLake
Spuštění začíná po nahrání datových sad SDOH do složky Ingestování. Kanál spuštění přesune soubory do uspořádané složky Zpracování v bronzovém transakčním jezeře v další fázi. V případě, že dojde k selhání, kanál přesune soubory do složky Selhání.
Další informace o těchto složkách a přesunu souborů mezi nimi najdete v tématu Popisy složek.
Přesun datových sad SDOH
Poznámkový blok raw_process_movement přesune soubory do uspořádané složky Proces v bronzovém transakčním jezeře. Struktura podsložek je následující: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders
.
Zpracované soubory se ukládají do příslušných podsložek s časovým razítkem příjmu přidaným na začátek názvu souboru.
Převod datových sad SDOH na rozdílové tabulky
Jakmile se soubory přesunou do složky Proces, poznámkový blok healthcare#_msft_bronze_ingestion naplní tabulky metadat, rozložení a dat v bronzovém transakčním jezeře ve formátu rozdílové tabulky. Informace o rozložení se naplní v tabulce SD_Layout, informace o metadatech naplní tabulku SD_Metadata a data se naplní v jednotlivých datových tabulkách generovaných za běhu. Datové tabulky mají předponu SD_
a obsahují název listu/souboru v názvu tabulky. Všechny datové listy z každé datové sady si zachovávají svou tabulkovou strukturu. Chcete-li pochopit odchylku, můžete porovnat původní datový list s odpovídající bronzovou rozdílovou tabulkou.
Převod rozdílových tabulek na stříbrný datový model
Po úspěšném bronzovém přijetí pomůže poznámkový blok healthcare#_msft_bronze_silver_ingestion definovat vlastní datový model ve stříbrném transakčním jezeře. Tento poznámkový blok:
- Normalizuje data v bronzovém transakčním jezeře při zachování kontextu odpovídajících tabulek, což vám umožní identifikovat nebo dotazovat data ve zdrojovém kontextu.
- Vytvoří vyhrazené tabulky ve stříbrném transakčním jezeře pro každý zdrojový kontext.
Níže jsou uvedeny tabulky klíčového stříbrného transakčního jezera.
- SocialDeterminant: Obsahuje skutečné datové body pro každý sociální determinant a podrobnosti o poloze, jak jsou zadány v listu Konfigurace umístění.
- SocialDeterminantCategory: Obsahuje kategorii datových bodů pro každý sociální determinant.
- SocialDeterminantSubCategory: Obsahuje podkategorii datových bodů pro každý sociální determinant.
- UnitOfMeasure (tabulka IDM): Obsahuje podrobnosti o měrných jednotkách.
- SocialDeterminantDataSetMetadata: Obsahuje informace o datové sadě, jako je název datové sady, vydavatel a datum publikování.
Můžete porovnat bronzové tabulky delta lake s odpovídajícími reprezentacemi stříbrného lakehouse, abyste porozuměli transformaci vlastního datového modelu. Tabulky vlastního datového modelu se liší strukturou a uspořádáním v porovnání s konvenčními tabulkami založenými na FHIR.
Vzorek: Analýza vlivu potravinového prostředí a socioekonomických podmínek na diabetes
Představte si scénář, ve kterém se snažíme pochopit dopad potravinového prostředí a socioekonomických podmínek v okrese na počet pacientů s diabetem v tomto kraji.
Potravinové prostředí a medián příjmu domácností představují informace SDOH z nedávno přijatých veřejných datových sad SDOH, konkrétně z atlasu potravinového prostředí USDA a dat SDOH AHRQ. Můžete použít pole, jako je počet restaurací rychlého občerstvení, počet obchodů s potravinami a medián příjmu domácnosti z datového modelu SDOH (tabulka SocialDeterminant) ve stříbrném transakčním jezeře.
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
Na druhou stranu počet pacientů s diabetem odkazuje na klinické informace z klinického kanálu Řešení pro zdravotní data, které musí být také nasazeno a nainstalováno. Do tohoto kanálu můžete ingestovat klinická data nebo použít poskytnutá data klinických vzorků. K načtení požadovaných měr použijte pole, jako je adresa pacienta a stav pacienta.
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
Mezi těmito dvěma sadami dat ze své podstaty neexistuje žádný přímý vztah. Spojujícím prvkem je detail jejich umístění:
- Data o potravinovém prostředí jsou k dispozici na úrovni okresu a jsou přístupná rozbalením sloupce Locationjson v tabulce SocialDeterminant a použitím pole
CountyFIPS
. - Klinická data obsahují adresy pacientů ve formátu FHIR, ze kterých můžete načíst informace o okresech. Pokud je k dispozici pouze PSČ pacienta, můžete jej načíst a vytvořit mapovací tabulku PSČ na kódy FIPS, která se propojí s datovou sadou SDOH. Tato mapovací tabulka je snadno dostupná ve veřejných datových úložištích.
S připravenými daty o poloze můžete tyto dvě datové sady propojit a vytvořit dotaz na dům zlatého jezera, který zobrazí všechny potřebné datové body. Zde je ukázka dotazu SQL:
FROM
social_determinants sd
JOIN
patient_conditions pc
ON
sd.CountyFIPS = pc.STCOUNTYFP
Nyní můžete analyzovat a vizualizovat konečnou datovou sadu a určit vztah mezi počtem pacientů s diabetem a přítomností restaurací rychlého občerstvení. Stříbrná vrstva tedy umožňuje robustní normalizaci dat, což vám umožňuje vytvářet dotazy a odvozovat komplexní přehledy v rámci různých datových sad a napříč nimi.