다음을 통해 공유


의료 데이터 솔루션에서 SDOH 데이터 세트 - 변환(프리뷰) 사용

[이 문서는 시험판 문서이며 변경될 수 있습니다.]

이 섹션에서는 의료 데이터 솔루션에서 SDOH 데이터 세트 - 변환(프리뷰)을 사용하여 SDOH(의료 서비스의 사회적 결정 요인) 데이터 세트를 수집, 변환 및 통합하는 방법에 대한 지침을 제공합니다.

SDOH 데이터 세트 - 변환(프리뷰)에서 공개 데이터 세트 준비의 단계를 완료하면 SDOH 데이터 세트를 수집할 준비가 됩니다. 또한 다음 요구 사항을 고려합니다.

  1. 임시 파일 복사본이 업로드되지 않도록 로컬에서 열려 있는 파일이 없는지 확인합니다.
  2. 파일의 민감도 레이블은 일반 또는 공용으로 설정해야 합니다.

수집 프로세스를 시작하려면 다음을 수행합니다.

  1. 의료 데이터 솔루션 환경에서 healthcare#_msft_sdoh_ingestion 데이터 파이프라인을 엽니다.

  2. 실행 버튼을 선택합니다.

성공적으로 실행되면 SDOH 데이터 세트를 분석 워크로드에서 사용할 수 있습니다.

수집 메커니즘 이해

이 기능의 엔드투엔드 실행에는 다음과 같은 높은 수준의 연속 단계가 포함됩니다.

  1. OneLake의 SDOH 데이터 세트를 Ingest 폴더로 수집합니다.
  2. SDOH 데이터 세트를 Ingest에서 Process 폴더로 이동합니다.
  3. SDOH 데이터 세트를 브론즈 레이크하우스의 전용 델타 테이블로 변환합니다.
  4. 브론즈 델타 테이블을 수집하여 실버 레이크하우스에서 IDM(Industry Data Model)에서 영감을 받은 데이터 모델로 변환합니다.

OneLake에서 SDOH 데이터 세트 수집

실행은 SDOH 데이터 세트를 Ingest 폴더에 업로드한 후에 시작됩니다. 실행 파이프라인은 다음 단계에서 파일을 브론즈 레이크하우스의 조직화된 Process 폴더로 이동합니다. 오류가 발생하면 파이프라인은 파일을 Failed 폴더로 이동합니다.

이러한 폴더 및 폴더 간의 파일 이동에 대한 자세한 내용은 폴더 설명을 참조하십시오.

SDOH 데이터 세트 이동

raw_process_movement Notebook은 파일을 브론즈 레이크하우스의 정리된 Process 폴더로 옮깁니다. 하위 폴더 구조는 다음과 같습니다 Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders.

처리된 파일은 해당 하위 폴더에 저장되며 파일 이름의 시작 부분에 수집 타임스탬프가 추가됩니다.

SDOH 데이터 세트를 델타 테이블로 변환

파일이 Process 폴더로 이동한 후 healthcare#_msft_bronze_ingestion Notebook은 델타 테이블 형식으로 브론즈 레이크하우스의 메타데이터, 레이아웃 및 데이터 테이블을 채웁니다. 레이아웃 정보는 SD_Layout 테이블에 채워지고, 메타데이터 정보는 SD_Metadata 테이블에 채워지며, 데이터는 런타임 시 생성된 개별 데이터 테이블에 채워집니다. 데이터 테이블에는 SD_ 접두사가 붙으며 테이블 이름에 시트/파일 이름이 포함됩니다. 모든 데이터 세트의 모든 데이터 시트는 테이블 구조를 유지합니다. 원본 데이터 시트를 해당 브론즈 델타 테이블과 비교하여 변형을 이해할 수 있습니다.

델타 테이블을 실버 데이터 모델로 변환

브론즈 수집에 성공한 후 healthcare#_msft_bronze_silver_ingestion Notebook은 실버 레이크하우스에서 사용자 지정 데이터 모델을 정의하는 데 도움이 됩니다. 이 Notebook:

  • 브론즈 레이크하우스의 데이터를 정규화하는 동시에 해당 테이블의 컨텍스트를 유지하여 원본 컨텍스트에서 데이터를 식별하거나 쿼리할 수 있도록 합니다.
  • 실버 레이크하우스에 각 원본 컨텍스트에 대한 전용 테이블을 만듭니다.

다음은 주요 실버 레이크하우스 테이블입니다.

  • SocialDeterminant: 각 사회적 결정 요인에 대한 실제 데이터 포인트와 위치 구성 시트에 입력된 위치 세부 정보를 포함합니다.
  • SocialDeterminantCategory: 각 사회적 결정 요인에 대한 데이터 요소의 범주를 포함합니다.
  • SocialDeterminantSubCategory: 각 사회적 결정 요인에 대한 데이터 요소의 하위 범주를 포함합니다.
  • UnitOfMeasure(IDM 테이블): 측정 단위 세부 정보를 포함합니다.
  • SocialDeterminantDataSetMetadata: 데이터 세트 이름, 게시자 및 게시 날짜와 같은 데이터 세트에 대한 정보를 포함합니다.

브론즈 델타 레이크 테이블을 해당 실버 레이크하우스 표현과 비교하여 사용자 지정 데이터 모델 변환을 이해할 수 있습니다. 사용자 지정 데이터 모델 테이블은 기존 FHIR 기반 테이블과 비교하여 구조와 구성이 다릅니다.

샘플: 식품 환경 및 사회 경제적 조건이 당뇨병에 미치는 영향 분석

카운티의 식품 환경과 사회 경제적 조건이 해당 카운티의 당뇨병 환자 수에 미치는 영향을 이해하려는 시나리오를 생각해 보십시오.

식품 환경과 가구 평균 소득은 최근 수집된 SDOH 공개 데이터 세트, 구체적으로는 USDA의 Food Environment Atlas 및 AHRQ의 SDOH 데이터에서 얻은 SDOH 정보를 나타냅니다. 실버 레이크하우스의 SDOH 데이터 모델(SocialDeterminant 테이블)에서 패스트푸드점 수, 식료품점 수, 가구 평균 소득과 같은 필드를 사용할 수 있습니다.

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

반면, 당뇨병 환자 수는 의료 데이터 솔루션 임상 파이프라인의 임상 정보를 의미하며, 이 또한 배포 및 설치되어야 합니다. 임상 데이터를 이 파이프라인으로 수집하거나 제공된 임상 샘플 데이터를 사용할 수 있습니다. 환자 주소 및 환자 상태와 같은 필드를 사용하여 필요한 측정값을 검색합니다.

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

본질적으로 이 두 데이터 세트 간에는 직접적인 관계가 없습니다. 연결 요소는 위치 세부 정보입니다.

  • 식품 환경 데이터는 카운티 수준에서 제공되며, SocialDeterminant 테이블의 Locationjson 열을 확장하고 CountyFIPS 필드를 사용하여 접근할 수 있습니다.
  • 임상 데이터에는 카운티 정보를 검색할 수 있는 FHIR 형식의 환자 주소가 포함되어 있습니다. 환자의 우편 번호만 사용할 수 있는 경우 이를 검색하고 우편 번호의 매핑 테이블을 FIPS 코드에 생성하여 SDOH 데이터 세트와 연결할 수 있습니다. 이 매핑 테이블은 공용 데이터 리포지토리에서 쉽게 사용할 수 있습니다.

위치 데이터가 준비되면 두 데이터 세트를 연결하여 필요한 모든 데이터 요소를 표시하는 골드 레이크하우스 쿼리를 작성할 수 있습니다. 다음은 샘플 SQL 쿼리입니다.

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

이제 최종 데이터 세트를 분석하고 시각화하여 당뇨병 환자 수와 패스트푸드 레스토랑의 존재 여부 간의 관계를 확인할 수 있습니다. 따라서 실버 레이어는 강력한 데이터 정규화를 가능하게 하여 쿼리를 구성하고 다양한 데이터 세트 내에서 포괄적인 인사이트를 도출할 수 있습니다.