Utilize Conjuntos de dados SDOH - Transformações (pré-visualização) em soluções de dados de cuidados de saúde
[Este artigo é uma documentação de pré-lançamento e está sujeito a alterações.]
Esta secção fornece orientação sobre como ingerir, transformar e unificar os conjuntos de dados SDOH (determinantes sociais de saúde) usando conjuntos de dados SDOH - Transformações (pré-visualização) em soluções de dados de cuidados de saúde.
Depois de concluir os passos em Preparar os conjuntos de dados públicos em conjuntos de dados SDOH - Transformações (pré-visualização), os conjuntos de dados SDOH estão prontos para ingestão. Considere também os seguintes requisitos:
- Certifique-se de que nenhum dos ficheiros está aberto localmente para evitar que sejam carregadas cópias temporárias de ficheiros.
- A etiqueta de confidencialidade dos ficheiros deve ser definida como Geral ou Público.
Para iniciar o processo de ingestão:
No seu ambiente de soluções de dados de cuidados de saúde, abra o pipeline de dados healthcare#_msft_sdoh_ingestion.
Selecione o botão Executar.
Após a execução bem-sucedida, os conjuntos de dados SDOH ficam prontos para uso em cargas de trabalho de análise.
Compreender o mecanismo de ingestão
A execução de ponto a ponto desta capacidade envolve os seguintes passos consecutivos de alto nível:
- Ingerir conjuntos de dados SDOH do OneLake para a pasta Ingerir.
- Mova os conjuntos de dados SDOH da pasta Ingerir para Processar.
- Converta conjuntos de dados SDOH em tabelas delta dedicadas no lakehouse de bronze.
- Ingerir e converter tabelas delta dode bronze num modelo de dados inspirado no Modelo de Dados do Setor (IDM) no lakehouse de prata.
Ingerir conjuntos de dados SDOH do OneLake
A execução começa depois de carregar os conjuntos de dados SDOH para a pasta Ingerir. O pipeline de execução move os ficheiros para a pasta Processar organizada no lakehouse de bronze no próximo passo. Se ocorrerem falhas, o pipeline move os ficheiros para a pasta Falha.
Para saber mais sobre essas pastas e a movimentação de ficheiros entre elas, consulte Descrições de pastas.
Mover conjuntos de dados SDOH
O bloco de notas raw_process_movement move os ficheiros para a pasta Processar organizada no lakehouse de bronze. A estrutura da subpasta é a seguinte: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders
.
Os ficheiros processados são armazenados nas respetivas subpastas, com o carimbo de data/hora de ingestão adicionado no início do nome do ficheiro.
Converter conjuntos de dados SDOH em tabelas delta
Depois de os arquivos serem movidos para a pasta Processar, o bloco de notas healthcare#_msft_bronze_ingestion preenche os metadados, o esquema e as tabelas de dados no lakehouse bronze no formato de tabela delta. As informações de esquema são preenchidas na tabela SD_Layout, as informações de metadados são preenchidas na tabela SD_Metadata e os dados são preenchidos nas tabelas de dados individuais geradas em tempo de execução. As tabelas de dados são prefixadas com SD_
e contêm o nome da folha/ficheiro no nome da tabela. Todas as folhas de dados de cada conjunto de dados mantêm a respetiva estrutura de tabela. Pode comparar a folha de dados original com a tabela delta de bronze correspondente para entender a variação.
Converter tabelas delta num modelo de dados prata
Após a ingestão bem-sucedida de bronze, o bloco de notas healthcare#_msft_bronze_silver_ingestion ajuda a definir um modelo de dados personalizado no lakehouse prata. Este bloco de notas:
- Normaliza os dados no lakehouse bronze, preservando o contexto das tabelas correspondentes, permitindo identificar ou consultar os dados no contexto de origem.
- Cria tabelas dedicadas no lakehouse prata para cada um dos contextos de origem.
Seguem-se as principais tabelas de lakehouse de prata:
- SocialDeterminant: Contém os pontos de dados reais para cada determinante social e os detalhes de localização conforme inseridos na folha de configuração de localização.
- SocialDeterminantCategory: Contém a categoria de pontos de dados para cada determinante social.
- SocialDeterminantSubCategory: Contém a subcategoria de pontos de dados para cada determinante social.
- UnitOfMeasure (tabela IDM): Contém os detalhes da unidade de medição.
- SocialDeterminantDataSetMetadata: contém informações sobre o conjunto de dados, como o nome do conjunto de dados, o editor e a data de publicação.
Pode comparar as tabelas de delta lake de bronze com as respetivas representações correspondentes de lakehouse de prata para entender a transformação do modelo de dados personalizado. As tabelas de modelo de dados personalizadas diferem em estrutura e organização em comparação com as tabelas convencionais baseadas em FHIR.
Amostra: Analisar o impacto do ambiente alimentar e das condições socioeconómicas na diabetes
Considere um cenário em que estamos a tentar compreender o impacto do ambiente alimentar e das condições socioeconómicas de um concelho no número de doentes com diabetes nesse concelho.
O ambiente alimentar e o rendimento médio do agregado familiar representam informações SDOH dos conjuntos de dados públicos SDOH recentemente ingeridos, especificamente o Atlas do Ambiente Alimentar da USDA e os Dados SDOH do AHRQ. Pode usar campos como o número de restaurantes de fast-food, o número de mercearias e o rendimento médio do agregado familiar do modelo de dados SDOH (tabela SocialDeterminant) no lakehouse de prata.
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 outro lado, o número de pacientes com diabetes refere-se à informação clínica do pipeline clínico de soluções de dados de cuidados de saúde, que também deve ser implementado e instalado. Pode ingerir dados clínicos neste pipeline ou utilizar os dados de amostra clínica fornecidos. Use campos como endereço do paciente e condição do paciente para recuperar as medidas necessárias.
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
Inerentemente, não há relação direta entre esses dois conjuntos de dados. O elemento de ligação é o detalhe da sua localização:
- Os dados do ambiente alimentar estão disponíveis ao nível do concelho, acessíveis através da expansão da coluna Locationjson na tabela SocialDeterminant e utilizando o campo
CountyFIPS
. - Os dados clínicos contêm endereços de pacientes no formato FHIR, a partir do qual pode recuperar informações do concelho. Se apenas o código postal do paciente estiver disponível, pode recuperá-lo e criar uma tabela de mapeamento de códigos postais para códigos FIPS para associar ao conjunto de dados SDOH. Esta tabela de mapeamento está prontamente disponível em repositórios de dados públicos.
Com os dados de localização preparados, pode associar os dois conjuntos de dados para criar uma consulta lakehouse ouro que apresenta todos os pontos de dados necessários. Vejamos uma consulta de SQL:
FROM
social_determinants sd
JOIN
patient_conditions pc
ON
sd.CountyFIPS = pc.STCOUNTYFP
Agora pode analisar e visualizar o conjunto de dados final para determinar a relação entre o número de pacientes com diabetes e a presença de restaurantes de fast-food. Assim, a camada prateada permite uma normalização de dados robusta, permitindo que construa consultas e obtenha informações abrangentes dentro e entre diferentes conjuntos de dados.