Udostępnij za pośrednictwem


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:

  1. Upewnij się, że żaden z plików nie jest otwarty lokalnie, aby uniknąć przesyłania tymczasowych kopii plików.
  2. Etykieta poufności plików musi być ustawiona na wartość Ogólna lub Publiczna.

Aby rozpocząć proces pozyskiwania:

  1. W środowisku rozwiązań do obsługi danych medycznych otwórz potok danych healthcare#_msft_sdoh_ingestion.

  2. 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:

  1. Pozyskiwanie zestawów danych SDOH z usługi OneLake do folderu Pozyskaj.
  2. Przenieś zestawy danych SDOH z folderu Pozyskiwanie do folderu Proces.
  3. Przekonwertuj zestawy danych SDOH na dedykowane tabele różnicowe w brązowym magazynie lakehouse.
  4. 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.