Подготовка общедоступных наборов данных в наборах данных СДЗ — преобразования (предварительная версия)
[Данная статья посвящена предварительному выпуску и может быть изменена.]
Общедоступные наборы данных СДЗ содержат агрегированные данные о социальных детерминантах здоровья (СДЗ), опубликованные государственными учреждениями и другими официальными источниками, такими как университеты. Эти наборы данных объединяют различные параметры СДЗ на географических уровнях, таких как район, область или почтовый индекс. Наборы данных СДЗ — преобразования (предварительная версия) позволяет принимать эти наборы данных географического уровня в формате 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: используйте скрипт для отправки наборов данных.
Загрузите наборы данных вручную
В среде решений для данных здравоохранения выберите хранилище озера данных healthcare#_msft_bronze.
Откройте папку Прием. Дополнительные сведения см. в разделе Описания папки.
Щелкните многоточие (...) рядом с именем папки и выберите Загрузить папку.
Отправьте наборы данных из локальной системы. Используйте проводник OneLake, чтобы найти наборы данных по следующему пути:
<workspace name>\healthcare#.HealthDataManager\DMHSampleData\8SdohPublicDataset
.Обновите папку Прием. Теперь вы должны увидеть файлы наборов данных во вложенной папке СДЗ.
Используйте скрипт для отправки наборов данных
Важно
Используйте этот параметр только в том случае, если вы используете предоставленный демонстрационный набор данных.
Перейдите в рабочую область Fabric для решений для данных здравоохранения.
Выберите + Новый элемент.
В области Новый элемент найдите и выберите записная книжка.
Скопируйте следующий фрагмент кода в записная книжка:
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)
Выполните записную книжку. Примеры наборов данных СДЗ теперь перемещаются в указанное расположение в папке Прием.
Теперь наборы данных СДЗ готовы к приему.