Usar Conjuntos de datos SDOH: transformaciones (versión preliminar) en soluciones de datos de atención sanitaria
[Este artículo es documentación preliminar y está sujeto a modificaciones].
Esta sección proporciona orientación sobre cómo ingerir, transformar y unificar los conjuntos de datos SDOH (determinantes sociales de salud) mediante Conjuntos de datos SDOH: transformaciones (versión preliminar) en soluciones de datos de atención sanitaria.
Después de completar los pasos en Preparar los conjuntos de datos públicos en Conjuntos de datos SDOH: transformaciones (versión preliminar), los conjuntos de datos SDOH están listos para la ingesta. Considere también los siguientes requisitos:
- Asegúrese de que ninguno de los archivos esté abierto localmente para evitar que se carguen copias temporales de los archivos.
- La etiqueta de confidencialidad de los archivos debe establecerse en General o Público.
Para comenzar el proceso de ingesta:
En su entorno de soluciones de datos de atención sanitaria, abra la canalización de datos healthcare#_msft_sdoh_ingestion.
Seleccione el botón Ejecutar.
Después de una ejecución correcta, sus conjuntos de datos SDOH están listos para usarlos en cargas de trabajo de análisis.
Comprender el mecanismo de ingesta
La ejecución de un extremo a otro de esta capacidad implica los siguientes pasos consecutivos de alto nivel:
- Ingiera conjuntos de datos SDOH de OneLake en la carpeta Ingesta.
- Mueva los conjuntos de datos SDOH de la carpeta Ingesta a la carpeta Proceso.
- Convierta los conjuntos de datos SDOH en tablas delta dedicadas en el almacén de lago bronce.
- Ingiera y convierta las tablas delta bronce en un modelo de datos inspirado en el modelo de datos del sector (IDM) en el almacén de lago plata.
Ingerir conjuntos de datos SDOH de OneLake
La ejecución comienza después de cargar los conjuntos de datos SDOH en la carpeta Ingesta. La canalización de ejecución mueve los archivos a la carpeta Proceso organizada en el almacén de lago bronce en la siguiente etapa. En caso de que se produzcan errores, la canalización mueve los archivos a la carpeta Con error.
Para obtener más información sobre estas carpetas y el movimiento de archivos entre ellas, consulte Descripciones de carpetas.
Mover conjuntos de datos de SDOH
El cuaderno raw_process_movement mueve los archivos a la carpeta Proceso organizada en el almacén de lago bronce. La estructura de subcarpetas es la siguiente: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders
.
Los archivos procesados se almacenan en sus respectivas subcarpetas, con la marca de tiempo de ingesta agregada al principio del nombre del archivo.
Convertir conjuntos de datos de SDOH en tablas delta
Una vez que los archivos se mueven a la carpeta Proceso, el cuaderno healthcare#_msft_bronze_ingestion rellena las tablas de metadatos, diseño y datos en el almacén de lago bronce en el formato de tabla delta. La información de diseño se rellena en la tabla SD_Layout, la información de metadatos se rellena en la tabla SD_Metadata y los datos se rellenan en las tablas de datos individuales generadas en tiempo de ejecución. Las tablas de datos tienen el prefijo SD_
y contienen el nombre de hoja o archivo en el nombre de la tabla. Todas las hojas de datos de todos los conjuntos de datos conservan su estructura de tabla. Puede comparar la hoja de datos original con su correspondiente tabla delta bronce para comprender la variación.
Convertir tablas delta en modelo de datos plata
Después de una ingesta bronce correcta, el cuaderno healthcare#_msft_bronze_silver_ingestion ayuda a definir un modelo de datos personalizado en el almacén de lago plata. Este cuaderno:
- Normaliza los datos del almacén de lago bronce a la vez que conserva el contexto de las tablas correspondientes, lo que le permite identificar o consultar los datos en el contexto de origen.
- Crea tablas dedicadas en el almacén de lago plata para cada uno de los contextos de origen.
A continuación se muestran las tablas de almacén de lago plata clave:
- SocialDeterminant: Contiene los puntos de datos reales para cada determinante social y los detalles de ubicación tal como se introducen en la hoja Configuración de ubicación.
- SocialDeterminantCategory: Contiene la categoría de puntos de datos para cada determinante social.
- SocialDeterminantSubCategory: Contiene la subcategoría de puntos de datos para cada determinante social.
- UnitOfMeasure (tabla IDM): Contiene los detalles de la unidad de medida.
- SocialDeterminantDataSetMetadata: Contiene información sobre el conjunto de datos, como el nombre del conjunto de datos, el editor y la fecha de publicación.
Puede comparar las tablas de lago delta bronce con sus correspondientes representaciones del almacén de lago plata para comprender la transformación del modelo de datos personalizado. Las tablas del modelo de datos personalizado difieren en estructura y organización en comparación con las tablas convencionales basadas en FHIR.
Muestra: Analizar el impacto del entorno alimentario y las condiciones socioeconómicas en la diabetes
Considere un escenario en el que estamos tratando de comprender el impacto del entorno alimentario y las condiciones socioeconómicas de un condado en la cantidad de pacientes con diabetes en ese condado.
El entorno alimentario y el ingreso medio de los hogares representan la información de SDOH de los conjuntos de datos públicos de SDOH recientemente incorporados, específicamente los Datos de SDOH de AHRQ y del Atlas del entorno alimentario del USDA. Puede usar campos, como el número de restaurantes de comida rápida, el número de tiendas de comestibles y el ingreso familiar medio del modelo de datos SDOH (tabla SocialDeterminant) en el almacén de lago plata.
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
Por otro lado, el número de pacientes con diabetes hace referencia a la información clínica de la canalización clínica de soluciones de datos sanitarios, que también debe implementarse e instalarse. Puede ingerir datos clínicos en esta canalización o utilizar los datos de ejemplo clínicos proporcionados. Utilice campos, como la dirección del paciente y el estado del paciente, para recuperar las medidas requeridas.
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
Inherentemente, no hay una relación directa entre estos dos conjuntos de datos. El elemento de enlace es el detalle de su ubicación:
- Los datos sobre el entorno alimentario están disponibles en el nivel de condado, a los que se puede acceder expandiendo la columna Locationjson de la tabla SocialDeterminant y utilizando el campo
CountyFIPS
. - Los datos clínicos contienen direcciones de pacientes en formato FHIR, desde las cuales puede recuperar información del condado. Si solo está disponible el código postal del paciente, puede recuperarlo y crear una tabla de asignación de códigos postales a códigos FIPS para vincularla con el conjunto de datos de SDOH. Esta tabla de asignación está disponible en repositorios de datos públicos.
Con los datos de ubicación preparados, puede vincular los dos conjuntos de datos para crear una consulta de almacén de lago oro que muestre todos los puntos de datos necesarios. Aquí se muestra una consulta SQL de ejemplo:
FROM
social_determinants sd
JOIN
patient_conditions pc
ON
sd.CountyFIPS = pc.STCOUNTYFP
Ahora puede analizar y visualizar el conjunto de datos final para determinar la relación entre el número de pacientes con diabetes y la presencia de restaurantes de comida rápida. Por lo tanto, la capa plata permite una normalización de datos sólida, lo que le permite construir consultas y obtener información completa dentro y entre diferentes conjuntos de datos.