共用方式為


準備 SDOH 資料集 - 轉換 (預覽版) 中的公開資料集

[本文章是發行前版本文件,隨時可能變更。]

SDOH 公共資料集包含政府機構和其他官方來源 (如大學) 發佈的匯總健康社會決定因素 (SDOH) 資料。 這些資料集整合了州、縣或郵遞區號等地理層級的各種 SDOH 參數。 SDOH 資料集 - 轉換 (預覽版) 可讓您以 CSV (逗號分隔值) 或 XLSX (Excel Open XML 電子表格) 格式擷取這些地理層級的資料集,並將其規範化為自訂資料模型。

預覽版提供了來自各個 SDOH 域的以下八個範例 SDOH 資料集,可協助您執行資料管道並透過青銅、銀和金湖倉層探索資料轉換:

  • 美國農業部的食品環境地圖集:包括商店/餐廳的鄰近性、食品價格、營養援助計畫和社區特徵等因素。 這些因素會影響食物選擇、飲食品質,並最終影響健康結果。

  • 美國農業部的農村地圖集:提供有關社會經濟因素的統計資料,例如人口、工作、縣分類、收入和退伍軍人。

  • AHRQ 的 SDOH 資料:提供五個關鍵 SDOH 域的詳細資訊:

    • 社會背景,例如年齡、種族/民族、退伍軍人身份。
    • 經濟背景,如收入、失業率。
    • 教育程度
    • 有形基礎設施,如住房、犯罪、交通。
    • 醫療保健環境,例如健康保險。
  • 位置負擔能力指數:估計社區一級的家庭住房和交通成本。

  • 環境正義指數:匯總來自多個來源的資料,對每個人口普查區域的環境不公正對健康的累積影響進行排名。

  • ACS 教育成就:提供地理區域的教育見解,源自正在進行的大型人口統計調查。

  • 澳大利亞 SEIFA:結合澳大利亞人口普查資料,如收入、教育、就業和住房,總結一個地區的社會經濟特徵。

  • 英國剝奪指數:英國境內廣泛使用的社會經濟指標,用於評估小地區的貧困,涵蓋各個方面。

其中:

  • 美國農業部:美國農業部
  • AHRQ:醫療保健研究和品質機構
  • ACS:美國社區調查
  • SEIFA:各地區的社會經濟指數

重要

這些資料集不僅僅是樣本,而是各自組織發佈的完整、真實的資料集。 它們準確地表示了其地理區域的 SDOH 概況。 修改它們時要小心,因為它們是聯邦機構的官方出版物。

資料夾結構

SDOH 資料集 - 轉換 (預覽) 的登陸區域包含三個資料夾:內嵌程序失敗。 要了解有關這些資料夾的更多資訊,請參閱統一資料夾結構

在擷取前準備 SDOH 資料集

在引入 SDOH 公共資料集之前,請確保它們已準備好成功引入。 以下部分概述了兩種情況:

  • 使用您自己的資料集
  • 使用範例資料集

使用您自己的資料集

SDOH 公共資料集在格式、數量和結構方面因發佈組織而異。 他們缺乏收集和交換捕獲資訊的既定標準。 因此,在將它們表示在資料模型中之前,將它們統一為通用形狀至關重要。

若要擷取並轉換您選擇的 SDOH 公用資料集,請在其中新增以下三個關鍵資訊:

  • 配置:由於缺乏用於捕獲 SDOH 資料的標準代碼集,理解每個欄位的含義具有挑戰性。 若要解決此問題,請透過新增名為 Layout 的新工作表 (如果您的資料集採用XLSX 格式) 來為資料集建立資料字典,或建立新的CSV 檔案 (如果您的資料集採用CSV 格式),其中顯示的資料列如下例:

    顯示範例佈局表的螢幕擷取畫面。

  • DataSetMetadata:由於 SDOH 資料集來自不同的發布者,因此記錄資料集的關鍵詳細資訊至關重要。 新增名為 DataSetMetadata 的新工作表 (如果您的資料集採用 XLSX 格式) 或建立一個新的 CSV 檔案 (如果您的資料集採用 CSV 格式),其中包含以下範例中顯示的列:

    顯示範例資料集中繼資料表的螢幕擷取畫面。

  • 位置配置:不同的地理位置以不同的方式定義和組織位置資料。 為了幫助SDOH 管道了解資料集的地理結構,請新增一個名為LocationConfiguration 的新工作表 (如果您的資料集採用XLSX 格式) 或建立一個新的CSV 檔案 (如果您的資料集採用CSV 格式),其中包含以下範例中顯示的列:

    顯示範例位置設定表的螢幕擷取畫面。

亦:

  • 您可以參考範例 SDOH 資料集的結構來填充必要的資訊,例如社會決定因素類別、中繼資料和協調金鑰。
  • 如果您不想從原始資料集中提取某些欄位,請將它們從資料表中刪除,或在佈局表中將其詳細資訊留空。 在這兩種情況下,它們都不包含在銀資料模型中。
  • 具有相同名稱、發布日期和發布者的資料集將被視為重複項。

使用範例資料集

隨醫療保健資料解決方案提供的範例 SDOH 資料集已預先填充了所有必備資訊,並且可在 OneLake 中使用。 您可以在本地提取它們。

將資料集上傳到 Fabric 工作區

資料集準備就緒後,選擇以下兩個選項之一進行上傳。 僅當使用 SDOH 資料集 - 轉換 (預覽版) 隨附的範例資料集時,才能使用選項 2。

  • 選項 1:手動上傳資料集。
  • 選項 2:使用指令碼上傳資料集。

手動上傳資料集

  1. 在您的醫療保健資料解決方案環境中,選擇 healthcare#_msft_bronze 湖倉。

  2. 打開內嵌資料夾。 若要進一步瞭解,請參閱資料夾敘述

  3. 選擇資料夾名稱旁邊的省略號 (...),然後選擇上傳資料夾

  4. 從本地系統上傳資料集。 使用 OneLake 檔案資源管理員在以下路徑中尋找資料集:<workspace name>\healthcare#.HealthDataManager\DMHSampleData\8SdohPublicDataset

  5. 重新整理內嵌資料夾。 現在,您應該會看到 SDOH 子資料夾中的資料集檔。

使用指令碼上傳資料集

重要

僅當使用提供的範例資料集時,才使用此選項。

  1. 轉到你的醫療保健資料解決方案結構工作區。

  2. 選取 + 新增項目

  3. 新項目窗格中,搜尋並選擇筆記本

  4. 將以下程式碼片段複製到筆記本中:

    workspace_name = '<workspace_name>' # workspace name
    one_lake_endpoint = "<OneLake_endpoint>" # OneLake endpoint
    solution_name = "<solution_name>" # solution name
    bronze_lakehouse_name = "<bronze_lakehouse_name>" # bronze lakehouse name
    
    def copy_source_files_and_folders(source_path, destination_path):
    source_contents = mssparkutils.fs.ls(source_path) # list the source directory contents
    
    
    # list the destination directory contents
    
    try:
        if mssparkutils.fs.exists(destination_path):
            destination_contents = mssparkutils.fs.ls(destination_path)
            destination_files = {item.path.split('/')[-1]: item.path for item in destination_contents}
        else:
            print(f"Destination path {destination_path} does not exist.")
            destination_files = {}
    except Exception as e:
        print(f" Error: {str(e)}")
        destination_files = {}
    
    # copy each item inside the source directory to the destination directory
    
    for item in source_contents:
       item_path = item.path
       item_name = item_path.split('/')[-1]
       destination_item_path = f"{destination_path}/{item_name}"
    
    # recursively copy the contents of the directory
    
    if item.isDir:
            copy_source_files_and_folders(item_path, destination_item_path)
        else:
            if item_name in destination_files:
                print(f"File already exists, skipping: {destination_item_path}")
            else:
                print(f"Creating new file: {destination_item_path}")
                mssparkutils.fs.cp(item_path, destination_item_path, recurse=True)
    
    # define the source and destination paths with placeholder values
    
    data_manager_solution_path = f"abfss://{workspace_name}@{one_lake_endpoint}/{solution_name}"
    data_manager_sample_data_path = f"{data_manager_solution_path}/DMHSampleData"
    
    sdoh_csv_data_path = f"{data_manager_sample_data_path}/8SdohPublicDataset/csv"
    sdoh_xlsx_data_path = f"{data_manager_sample_data_path}/8SdohPublicDataset/xlsx"
    
    destination_path_csv = f"abfss://{workspace_name}@{one_lake_endpoint}/{bronze_lakehouse_name}.Lakehouse/Files/Ingest/SDOH/CSV"
    destination_path_xlsx = f"abfss://{workspace_name}@{one_lake_endpoint}/{bronze_lakehouse_name}.Lakehouse/Files/Ingest/SDOH/XLSX"
    
    # copy the files along with their parent folders
    
    copy_source_files_and_folders(sdoh_csv_data_path, destination_path_csv)
    copy_source_files_and_folders(sdoh_xlsx_data_path, destination_path_xlsx)
    
  5. 執行筆記本。 範例 SDOH 資料集現在將移動到擷取資料夾中的指定位置。

SDOH 資料集現已準備好進行引入。