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


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

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

Общедоступные наборы данных СДЗ содержат агрегированные данные о социальных детерминантах здоровья (СДЗ), опубликованные государственными учреждениями и другими официальными источниками, такими как университеты. Эти наборы данных объединяют различные параметры СДЗ на географических уровнях, таких как район, область или почтовый индекс. Наборы данных СДЗ — преобразования (предварительная версия) позволяет принимать эти наборы данных географического уровня в формате 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_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. Выполните записную книжку. Примеры наборов данных СДЗ теперь перемещаются в указанное расположение в папке Прием.

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