Поделиться через


Подготовка общедоступных наборов данных в наборах данных СДЗ — преобразования (предварительная версия)

[Данная статья посвящена предварительному выпуску и может быть изменена.]

Общедоступные наборы данных СДЗ содержат агрегированные данные о социальных детерминантах здоровья (СДЗ), опубликованные государственными учреждениями и другими официальными источниками, такими как университеты. Эти наборы данных объединяют различные параметры СДЗ на географических уровнях, таких как район, область или почтовый индекс. Наборы данных СДЗ — преобразования (предварительная версия) позволяет принимать эти наборы данных географического уровня в формате CSV (значения, разделенные запятыми) или XLSX (электронная таблица Excel Open XML) и нормализовать их в пользовательскую модель данных.

В выпуске предварительная версия представлены следующие восемь примеров наборов данных СДЗ из различных доменов СДЗ, которые помогут вам запускать конвейеры данных и исследовать преобразования данных с помощью слоев бронзового, серебряного и золотого хранилищ озера данных:

  • Атлас продовольственной среды USDA USDA: включает такие факторы, как близость магазинов/ресторанов, цены на продукты питания, программы помощи в питании и характеристики сообщества. Эти факторы влияют на выбор продуктов питания, качество диеты и, в конечном счете, на результаты для здоровья.

  • Атлас сельских районов USDA: предлагает статистические данные о социально-экономических факторах, таких как люди, рабочие места, классификации районов, доходы и ветераны.

  • Данные СДЗ от AHRQ: предоставляет подробную информацию по пяти ключевым доменам СДЗ:

    • Социальный контекст, такой как возраст, расовая/этническая принадлежность, статус ветерана.
    • Экономический контекст, такой как доходы, уровень безработицы.
    • Образование
    • Физическая инфраструктура, такая как жилье, преступность, транспорт.
    • Контекст здравоохранения, например, медицинское страхование.
  • Индекс доступности местоположения: оценивает расходы домохозяйств на жилье и транспорт на уровне района.

  • Индекс экологической справедливости: Объединяет данные из нескольких источников для ранжирования совокупного воздействия экологической несправедливости на здоровье для каждого переписного участка.

  • Уровень образования ACS: предоставляет информацию об образовании по географическим регионам, полученную из крупного, текущего демографического опроса.

  • Австралийские SEIFA: объединяет данные переписи населения Австралии, такие как доходы, образование, занятость и жилье, для обобщения социально-экономических характеристик района.

  • Индексы депривации Великобритании: широко используемый социально-экономический показатель в Соединенном Королевстве для оценки бедности на небольших территориях, охватывающий различные аспекты.

Где:

  • USDA: Министерство сельского хозяйства США
  • AHRQ: Агентство исследования и оценки качества медицинского обслуживания
  • ACS: Опрос американского сообщества
  • SEIFA: Социально-экономические индексы для районов

Важно

Эти наборы данных являются не просто демонстрационными, а полными, реальными наборами данных, опубликованными соответствующими организациями. Они обеспечивают точное представление профилей СДЗ в своих географических областях. Будьте внимательны при их изменении, так как они являются официальными публикациями федеральных агентств.

Структура папок

Целевая зона для наборов данных СДЗ — преобразования (предварительная версия) состоит из трех папок: Прием, Обработка и Отклонено. Дополнительные сведения об этих папках см. в разделе Единая структура папок.

Подготовка наборов данных СДЗ перед приемом

Перед приемом общедоступных наборов данных СДЗ убедитесь, что они готовы к успешному приему. В следующих разделах описаны два сценария:

  • Использование собственного набора данных
  • Использование демонстрационного набора данных

Использование собственного набора данных

Общедоступные наборы данных СДЗ значительно различаются в разных издательских организациях по формату, объему и структуре. У них отсутствует установленный стандарт сбора и обмена захваченной информацией. Поэтому перед представлением их в модели данных важно объединить их в общую форму.

Чтобы принять и преобразовать выбранный вами общедоступный набор данных СДЗ, добавьте в него следующие три ключевых фрагмента информации:

  • Макет: из-за отсутствия стандартного набора кодов для сбора данных СДЗ понимание значения каждого поля является сложной задачей. Чтобы устранить эту проблему, создайте словарь данных для набора данных, добавив новый лист с именем Макет (если набор данных имеет формат XLSX), или создайте новый CSV-файл (если набор данных имеет формат CSV) со столбцами, показанными в следующем примере:

    Снимок экрана, отображающий лист с демонстрационным макетом.

  • DataSetMetadata: поскольку наборы данных СДЗ поступают от разных издателей, запись ключевых сведений о наборе данных имеет решающее значение. Добавьте новый лист с именем DataSetMetadata (если набор данных имеет формат XLSX), или создайте новый CSV-файл (если набор данных имеет формат CSV) со столбцами, показанными в следующем примере:

    Снимок экрана, отображающий лист с метаданными демонстрационного набора данных.

  • LocationConfiguration: в разных географических регионах данные о расположении определяются и организуются различными способами. Чтобы помочь конвейерам СДЗ понять географическую структуру набора данных, добавьте новую таблицу с именем LocationConfiguration (если набор данных имеет формат XLSX) или создайте новый CSV-файл (если набор данных имеет формат CSV) со столбцами, показанными в следующем примере:

    Снимок экрана, отображающий лист с демонстрационной конфигурацией местоположения.

Тоже:

  • Вы можете обратиться к структуре образцов наборов данных СДЗ, чтобы заполнить необходимые сведения, такие как категория социальной детерминанты, метаданные и ключ гармонизации.
  • Если вы предпочитаете не принимать определенные поля из исходного набора данных, удалите их из таблицы или оставьте их сведения пустыми на листе макета. В обоих случаях они не включаются в серебряную модель данных.
  • Наборы данных с одинаковым именем, датой публикации и издателем рассматриваются как дубликаты.

Использование демонстрационного набора данных

Демонстрационные наборы данных СДЗ, поставляемые с решениями для данных здравоохранения, предварительно заполнены всеми необходимыми сведениями и доступны в OneLake. Вы можете извлечь их локально.

Отправка наборов данных в рабочую область Fabric

Когда наборы данных будут готовы, выберите один из следующих двух вариантов их отправки. Вариант 2 можно использовать только в том случае, если вы используете демонстрационный набор данных, поставляемый с наборами данных СДЗ — преобразования (предварительная версия).

  • Вариант 1: отправьте наборы данных вручную.
  • Вариант 2: используйте скрипт для отправки наборов данных.

Загрузите наборы данных вручную

  1. В среде решений для данных здравоохранения выберите хранилище озера данных healthcare#_msft_bronze.

  2. Откройте папку Прием. Дополнительные сведения см. в разделе Описания папки.

  3. Щелкните многоточие (...) рядом с именем папки и выберите Загрузить папку.

  4. Отправьте наборы данных из локальной системы. Используйте проводник OneLake, чтобы найти наборы данных по следующему пути: <workspace name>\healthcare#.HealthDataManager\DMHSampleData\8SdohPublicDataset.

  5. Обновите папку Прием. Теперь вы должны увидеть файлы наборов данных во вложенной папке СДЗ.

Используйте скрипт для отправки наборов данных

Важно

Используйте этот параметр только в том случае, если вы используете предоставленный демонстрационный набор данных.

  1. Перейдите в рабочую область Fabric для решений для данных здравоохранения.

  2. Выберите + Новый элемент.

  3. В области Новый элемент найдите и выберите записная книжка.

  4. Скопируйте следующий фрагмент кода в записная книжка:

    workspace_id = '<workspace_id>' # Workspace ID. Retrieve the value from the healthcare#_msft_config_notebook.
    one_lake_endpoint = "<OneLake_endpoint>" # OneLake endpoint. Retrieve the value from the healthcare#_msft_config_notebook.
    solution_id = "<solution_id>" # Solution ID. Retrieve the value from the healthcare#_msft_config_notebook. 
    bronze_lakehouse_id = "<bronze_lakehouse_id>" # To locate the bronze lakehouse ID, open the bronze lakehouse and check the URL in the browser's address bar: https://{baseurl}/lakehouse/{GUID}/details). The {GUID} value in the URL is the bronze lakehouse ID.
    
    def copy_source_files_and_folders(source_path, destination_path):
       # List the contents of the source directory
       source_contents = mssparkutils.fs.ls(source_path)
    
       # List the contents of the destination directory
       try:
           destination_contents = mssparkutils.fs.ls(destination_path)
           destination_files = {item.path.split('/')[-1]: item.path for item in destination_contents}
       except Exception as e:
           print(f"Destination path {destination_path} does not exist or is empty. Creating the path.")
           destination_files = {}
           mssparkutils.fs.mkdirs(destination_path)
    
       # 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}"
    
           if item.isDir:
               # Recursively copy the contents of the directory
               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_id}@{one_lake_endpoint}/{solution_id}"
    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_id}@{one_lake_endpoint}/{bronze_lakehouse_id}/Files/Ingest/SDOH/CSV"
    destination_path_xlsx = f"abfss://{workspace_id}@{one_lake_endpoint}/{bronze_lakehouse_id}/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. Выполните записную книжку. Примеры наборов данных СДЗ теперь перемещаются в указанное расположение в папке Прием.

Теперь наборы данных СДЗ готовы к приему.