Używanie zestawów danych SDOH — transformacje (wersja zapoznawcza) w rozwiązaniach do obsługi danych medycznych
[Ten artykuł stanowi wstępną wersję dokumentacji i może ulec zmianie.]
Ta sekcja zawiera wskazówki dotyczące pozyskiwania, przekształcania i ujednolicania zestawów danych SDOH (społecznych uwarunkowań zdrowia) przy użyciu zestawów danych SDOH — przekształcenia (wersja zapoznawcza) w rozwiązaniach do obsługi danych medycznych.
Po wykonaniu kroków opisanych w temacie Przygotowywanie publicznych zestawów danych w zestawach danych SDOH — przekształcenia (wersja zapoznawcza) zestawy danych SDOH są gotowe do pozyskiwania. Rozważmy także następujące wymagania:
- Upewnij się, że żaden z plików nie jest otwarty lokalnie, aby uniknąć przesyłania tymczasowych kopii plików.
- Etykieta poufności plików musi być ustawiona na wartość Ogólna lub Publiczna.
Aby rozpocząć proces pozyskiwania:
W środowisku rozwiązań do obsługi danych medycznych otwórz potok danych healthcare#_msft_sdoh_ingestion.
Wybierz przycisk Uruchom.
Po pomyślnym wykonaniu zestawy danych SDOH są gotowe do użycia w obciążeniach analitycznych.
Opis mechanizmu pozyskiwania
Kompleksowe wykonanie tej funkcji obejmuje następujące kolejne kroki wysokiego poziomu:
- Pozyskiwanie zestawów danych SDOH z usługi OneLake do folderu Pozyskaj.
- Przenieś zestawy danych SDOH z folderu Pozyskiwanie do folderu Proces.
- Przekonwertuj zestawy danych SDOH na dedykowane tabele różnicowe w brązowym magazynie lakehouse.
- Pozyskiwanie i konwertowanie tabel różnicowych brązowego magazynu lakehouse na tabele modelu danych branżowych (IDM) inspirowane modelem danych w srebrnym magazynie Lakehouse.
Pozyskiwanie zestawów danych SDOH z usługi OneLake
Wykonywanie rozpoczyna się po przekazaniu zestawów danych SDOH do folderu Pozyskaj. Potok wykonywania przenosi pliki do zorganizowanego folderu Proces w brązowym magazynie lakehouse w następnym etapie. W przypadku wystąpienia błędów potok przenosi pliki do folderu Niepowodzenie.
Aby dowiedzieć się więcej o tych folderach i przenoszeniu plików między nimi, zobacz Opisy folderów.
Przenoszenie zestawów danych SDOH
Notes raw_process_movement przenosi pliki do zorganizowanego folderu Proces w brązowym magazynie lakehouse. Struktura podfolderów jest następująca: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders
.
Przetworzone pliki są przechowywane w odpowiednich podfolderach, a sygnatura czasowa pozyskiwania jest dodawana na początku nazwy pliku.
Konwertowanie zestawów danych SDOH na tabele różnicowe
Po przeniesieniu plików do folderu Proces notes healthcare#_msft_bronze_ingestion wypełnia tabele metadanych, układu i danych w brązowym magazynie lakehouse w formacie tabeli delta. Informacje o układzie są wypełniane w tabeli SD_Layout , informacje o metadanych są wypełniane w tabeli SD_Metadata, a dane są wypełniane w poszczególnych tabelach danych wygenerowanych w czasie wykonywania. Tabele danych są poprzedzone prefiksem SD_
i zawierają nazwę arkusza/pliku w nazwie tabeli. Wszystkie arkusze danych z każdego zestawu danych zachowują swoją strukturę tabeli. Możesz porównać oryginalny arkusz danych z odpowiadającą im brązową tabelą delta, aby zrozumieć różnicę.
Konwertowanie tabel różnicowych na srebrny model danych
Po pomyślnym pozyskiwaniu brązowego notesu healthcare#_msft_bronze_silver_ingestion pomaga zdefiniować niestandardowy model danych w srebrnym magazynie lakehouse. Ten notes:
- Normalizuje dane w brązowym magazynie lakehouse, zachowując kontekst odpowiednich tabel, umożliwiając identyfikowanie danych lub wykonywanie zapytań dotyczących danych w kontekście źródłowym.
- Tworzy dedykowane tabele w srebrnym magazynie lakehouse dla każdego kontekstu źródłowego.
Oto kluczowe srebrne tabele do magazynów lakehouse:
- SocialDeterminant: zawiera rzeczywiste punkty danych dla każdego wyznacznika społecznego oraz szczegóły lokalizacji wprowadzone w arkuszu konfiguracji lokalizacji.
- SocialDeterminantCategory: zawiera kategorię punktów danych dla każdego wyznacznika społecznego.
- SocialDeterminantSubCategory: zawiera podkategorię punktów danych dla każdego wyznacznika społecznego.
- UnitOfMeasure (tabela IDM): zawiera szczegóły jednostki miary.
- SocialDeterminantDataSetMetadata: zawiera informacje o zestawie danych, takie jak nazwa zestawu danych, wydawca i data publikacji.
Możesz porównać brązowe tabele delta lake z odpowiadającymi im srebrnymi magazynami lakehouse, aby zrozumieć przekształcenie niestandardowego modelu danych. Tabele niestandardowych modeli danych różnią się strukturą i organizacją w porównaniu z konwencjonalnymi tabelami opartymi na standardzie FHIR.
Przykład: analiza wpływu środowiska żywnościowego i warunków społeczno-ekonomicznych na cukrzycę
Rozważmy scenariusz, w którym próbujemy zrozumieć wpływ środowiska żywnościowego i warunków społeczno-ekonomicznych hrabstwa na liczbę pacjentów z cukrzycą w tym hrabstwie.
Środowisko żywnościowe i mediana dochodu gospodarstwa domowego reprezentują informacje SDOH z ostatnio pozyskanych publicznych zbiorów danych SDOH, w szczególności Atlasu środowiska żywnościowego USDA i danych SDOH AHRQ. Możesz użyć pól, takich jak liczba restauracji typu fast-food, liczba sklepów spożywczych i mediana dochodu gospodarstwa domowego z modelu danych SDOH (tabela SocialDeterminant) w srebrnym magazynie lakehouse.
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
Z drugiej strony liczba pacjentów z cukrzycą odnosi się do informacji klinicznych z potoku klinicznego rozwiązań do obsługi danych medycznych, które również muszą zostać wdrożone i zainstalowane. Możesz pozyskać dane kliniczne do tego potoku lub użyć podanych danych próbki klinicznej. Użyj pól, takich jak adres pacjenta i stan pacjenta, aby pobrać wymagane miary.
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
Z natury nie ma bezpośredniego związku między tymi dwoma zestawami danych. Elementem łączącym jest szczegół ich lokalizacji:
- Dane środowiska żywnościowego są dostępne na poziomie hrabstwa, dostępne po rozwinięciu kolumny Locationjson w tabeli SocialDeterminant i użyciu pola
CountyFIPS
. - Dane kliniczne zawierają adresy pacjentów w formacie FHIR, z którego można pobrać informacje o hrabstwie. Jeśli dostępny jest tylko kod pocztowy pacjenta, można go pobrać i utworzyć tabelę mapowania kodów pocztowych na kody FIPS, aby połączyć je z zestawem danych SDOH. Ta tabela mapowania jest łatwo dostępna w publicznych repozytoriach danych.
Po przygotowaniu danych lokalizacji można połączyć te dwa zestawy danych, aby utworzyć zapytanie złotego magazynu lakehouse, które wyświetla wszystkie niezbędne punkty danych. Oto przykładowza pytanie SQL:
FROM
social_determinants sd
JOIN
patient_conditions pc
ON
sd.CountyFIPS = pc.STCOUNTYFP
Teraz można analizować i wizualizować końcowy zestaw danych, aby określić związek między liczbą pacjentów z cukrzycą a obecnością restauracji typu fast-food. W związku z tym warstwa srebrna umożliwia niezawodną normalizację danych, umożliwiając konstruowanie zapytań i uzyskiwanie kompleksowych szczegółowych informacji w ramach różnych zestawów danych i między nimi.