As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Consultando HealthLake dados com SQL
Quando você importa seus dados FHIR para o armazenamento de dados, HealthLake os dados JSON FHIR aninhados passam simultaneamente por um processo de ETL e são armazenados no formato de tabela aberta Apache Iceberg no Amazon S3. Cada tipo de recurso FHIR do seu armazenamento de HealthLake dados é convertido em uma tabela, onde pode ser consultado usando o Amazon Athena. As tabelas podem ser consultadas individualmente ou em grupo usando consultas baseadas em SQL. Devido à estrutura dos armazenamentos de dados, seus dados são importados para o Athena como vários tipos de dados diferentes. Para saber mais sobre a criação de consultas SQL que podem acessar esses tipos de dados, consulte Matrizes de consultas com tipos complexos e estruturas aninhadas no Guia do usuário do Amazon Athena.
nota
Todos os exemplos neste tópico usam dados fictícios criados usando o Synthea. Para saber mais sobre como criar um armazenamento de dados pré-carregado com dados Synthea, consulte. Criação de um armazenamento HealthLake de dados
Para cada elemento em um tipo de recurso, a especificação FHIR define uma cardinalidade. A cardinalidade de um elemento define os limites inferior e superior de quantas vezes esse elemento pode aparecer. Ao criar uma consulta SQL, você deve levar isso em consideração. Por exemplo, vamos ver alguns elementos em Tipo de recurso: Paciente
-
Elemento: Nome A especificação FHIR define a cardinalidade como.
0..*O elemento é capturado como uma matriz.
[{ id = null, extension = null, use = official, _use = null, text = null, _text = null, family = Wolf938, _family = null, given = [Noel608], _given = null, prefix = null, _prefix = null, suffix = null, _suffix = null, period = null }]No Athena, para ver como um tipo de recurso foi ingerido, procure-o em Tabelas e visualizações. Para acessar elementos nessa matriz, você pode usar a notação de pontos. Aqui está um exemplo simples que acessaria os valores de
givenfamilye.SELECT name[1].given as FirstName, name[1].family as LastName FROM Patient -
Elemento: MaritalStatus A especificação FHIR define a cardinalidade como.
0..1Esse elemento é capturado como JSON.
{ id = null, extension = null, coding = [ { id = null, extension = null, system = http: //terminology.hl7.org/CodeSystem/v3-MaritalStatus, _system = null, version = null, _version = null, code = S, _code = null, display = Never Married, _display = null, userSelected = null, _userSelected = null } ], text = Never Married, _text = null }No Athena, para ver como um tipo de recurso foi ingerido, procure-o em Tabelas e visualizações. Para acessar pares de valores-chave no JSON, você pode usar a notação de pontos. Como não é uma matriz, nenhum índice de matriz é necessário. Aqui está um exemplo simples que acessaria o valor de
text.SELECT maritalstatus.text as MaritalStatus FROM Patient
Para saber mais sobre como acessar e pesquisar JSON, consulte Consultar JSON no Guia do usuário do Athena.
As instruções de consulta da Athena Data Manipulation Language (DML) são baseadas no Trino. O Athena não suporta todos os recursos do Trino e há diferenças significativas. Para saber mais, consulte consultas, funções e operadores de DML no Guia do usuário do Amazon Athena.
Além disso, o Athena oferece suporte a vários tipos de dados que você pode encontrar ao criar consultas em seu HealthLake armazenamento de dados. Para saber mais sobre os tipos de dados no Athena, consulte Tipos de dados no Amazon Athena no Guia do usuário do Amazon Athena.
Para saber mais sobre como as consultas SQL funcionam no Athena, consulte a referência de SQL para o Amazon Athena no Guia do usuário do Amazon Athena.
Cada guia mostra exemplos de como pesquisar os tipos de recursos especificados e os elementos associados usando o Athena.