Använd SDOH-datauppsättningar – omvandling (förhandsversion) i vårddatalösningar
[Denna artikel är en förhandsversion av dokumentationen och kan komma att ändras.]
Det här avsnittet innehåller vägledning om hur du matar in, omvandlar och förenar SDOH-datauppsättningar (sociala bestämningsfaktorer för hälsa) med hjälp av SDOH-datauppsättningar – Omvandlingar (förhandsversion) i vårddatalösningar.
När du har slutfört stegen i Förbereda de offentliga datauppsättningarna i SDOH-datauppsättningar – Omvandlingar (förhandsversion) är SDOH-datauppsättningarna redo för inmatning. Överväg även följande krav:
- Se till att ingen av filerna är öppna lokalt för att undvika att temporära filkopior laddas upp.
- Filernas känslighetsetikett måste vara inställd på Allmänt eller Offentligt.
Så här påbörjar du inmatningsprocessen:
I din miljö för vårddatalösningar, öppna datapipeline healthcare#_msft_sdoh_ingestion.
Välj knappen Kör.
När körningen är klar är SDOH-datauppsättningar är redo att användas i analysarbetsbelastningar.
Förstå inmatningsmekanismen
Körningen av den här funktionen från slutpunkt till slutpunkt omfattar följande på varandra följande steg på hög nivå:
- Mata in SDOH-datauppsättningar från OneLake till mappen Inmatning.
- Flytta SDOH-datauppsättningarna från mappen Inmatning till Process.
- Konvertera SDOH-datauppsättningar till dedikerade deltatabeller i bronssjöhuset.
- Mata in och konvertera bronsdeltatabeller till en datamodell inspirerad av Industry Data Model (IDM) i silversjöhuset.
Mata in SDOH-datauppsättningar från OneLake
Körningen börjar när du har överfört SDOH-datauppsättningarna till mappen Inamtning. Körningspipelinen flyttar filerna till den organiserade mappen Process i bronssjöhuset i nästa steg. Om eventuella fel inträffar flyttar pipelinen filerna till mappen Misslyckades.
Mer information om dessa mappar och filförflyttningen mellan dem finns i Mappbeskrivningar.
Flytta SDOH-datauppsättningar
Notebook-filen raw_process_movement flyttar filerna till den organiserade mappen Process i bronssjöhuset. Undermappsstrukturen är som följer: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders
.
Bearbetade filer lagras i sina respektive undermappar, med tidsstämpeln för inmatning tillagd i början av filnamnet.
Konvertera SDOH-datauppsättningar till deltatabeller
När filerna har flyttats till mappen Process fyller i notebook-filen healthcare#_msft_bronze_ingestion fyller metadata-, layout- och datatabellerna i bronssjöhuset i deltatabellformatet. Layoutinformation fyller i tabellen SD_Layout, metadatainformation fyller tabellen SD_Metadata och data fylls i de individuella datatabellerna som genereras vid körning. Datatabeller föregås av SD_
och innehåller blad-/filnamnet i tabellnamnet. Alla datablad från varje datauppsättning behåller sin tabellstruktur. Du kan jämföra det ursprungliga databladet med motsvarande bronsdeltatabell för att förstå variationen.
Konvertera deltatabeller till silverdatamodell
Efter en lyckad bronsinmatning hjälper notebook-filen healthcare#_msft_bronze_silver_ingestion till att definiera en anpassad datamodell i silversjöhuset. Den här notebook-filen:
- Normaliserar data i bronssjöhuset samtidigt som kontexten för motsvarande tabeller bevaras, så att du kan identifiera eller fråga efter data i källkontexten.
- Skapar dedikerade tabeller i silversjöhuset för var och en av källkontexten.
Följande är de viktigaste tabellerna i silversjöhuset:
- SocialDeterminant: Innehåller de faktiska datapunkterna för varje social bestämningsfaktor och platsinformationen som anges i Platskonfiguration.
- SocialDeterminantCategory: Innehåller kategorin med datapunkter för varje social determinant.
- SocialDeterminantSubCategory: Innehåller underkategorin med datapunkter för varje social determinant.
- UnitOfMeasure (IDM-tabell): Innehåller information om måttenheten.
- SocialDeterminantDataSetMetadata: Innehåller information om datauppsättningen, till exempel datauppsättningens namn, utgivare och publiceringsdatum.
Du kan jämföra tabellerna för bronsdeltasjö med deras motsvarande silversjöhusrepresentationer för att förstå den anpassade datamodellomvandlingen. De anpassade datamodelltabellerna skiljer sig åt i struktur och organisation jämfört med konventionella FHIR-baserade tabeller.
Exempel: Analysera effekten av livsmedelsmiljö och socioekonomiska förhållanden på diabetes
Föreställ dig ett scenario där vi försöker förstå hur ett läns livsmedelsmiljö och socioekonomiska förhållanden påverkar antalet patienter med diabetes i det länet.
Matmiljö och medianhushållsinkomst representerar SDOH-information från de nyligen intagna offentliga SDOH-datauppsättningarna USDA Food Environment Atlas och AHRQ SDOH Data. Du kan använda fält som antalet snabbmatsrestauranger, antal livsmedelsbutiker och medianhushållsinkomst från SDOH-datamodellen (SocialDeterminant-tabellen) i silversjöhuset.
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
Å andra sidan avser antalet patienter med diabetes klinisk information från vårddatalösningar kliniska pipeline, som också måste distribueras och installeras. Du kan mata in kliniska data i den här pipelinen eller använda angivna kliniska exempeldata. Använd fält som patientadress och patienttillstånd för att hämta de mått som krävs.
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
Det finns ingen direkt relation mellan dessa två datauppsättningar. Det länkande elementet är deras platsinformation:
- Matmiljödata är tillgängliga på länsnivå, tillgängliga genom att expandera kolumnen Locationjson i tabellen SocialDeterminant och använda fältet
CountyFIPS
. - Kliniska data innehåller patientadresser i FHIR-format, från vilka du kan hämta länsinformation. Om endast patientens postnummer är tillgängligt kan du hämta det och skapa en mappningstabell med postnummer till FIPS-koder för att länka till SDOH-datauppsättningen. Den här mappningstabellen är lätt tillgänglig i offentliga datalagringsplatser.
När platsdata har förberetts kan du länka de två datauppsättningarna för att skapa en guldsjöhusfråga som visar alla nödvändiga datapunkter. Här är ett exempel på en SQL-fråga:
FROM
social_determinants sd
JOIN
patient_conditions pc
ON
sd.CountyFIPS = pc.STCOUNTYFP
Du kan nu analysera och visualisera den slutliga datauppsättningen för att fastställa förhållandet mellan antalet patienter med diabetes och förekomsten av snabbmatsrestauranger. Således möjliggör silverlagret robust datanormalisering, så att du kan konstruera frågor och härleda omfattande insikter inom och mellan olika datauppsättningar.