Como exportar dados do FHIR

O recurso de exportação em massa permite que os dados sejam exportados do servidor FHIR de acordo com a especificação FHIR.

Antes de usar $export, você desejará certificar-se de que o serviço FHIR está configurado para usá-lo. Para definir configurações de exportação e criar conta de armazenamento do Azure, consulte a página configurar dados de exportação.

Usando o comando $export

Depois de configurar o serviço FHIR para exportação, você pode usar o comando $export para exportar os dados para fora do serviço. Os dados serão armazenados na conta de armazenamento que você especificou ao configurar a exportação. Para saber como invocar o comando $export no FHIR Server, leia a documentação sobre a especificação HL7 FHIR $Export.

Trabalhos paralisados em estado inadequado

Em algumas situações, há um potencial para um trabalho ficar preso em um estado inadequado. Isso pode ocorrer especialmente se as permissões da conta de armazenamento não tiverem sido configuradas corretamente. Uma maneira de validar se a exportação é bem-sucedida é verificar sua conta de armazenamento para ver se os arquivos de contêiner correspondentes (ou seja, ndjson) estão presentes. Se eles não estiverem presentes e não houver outros trabalhos de exportação em execução, haverá uma possibilidade de que o trabalho atual esteja preso em um estado inválido. Você deve cancelar o trabalho de exportação enviando uma solicitação de cancelamento e tentar enfileirar novamente o trabalho. Nosso tempo de execução padrão para uma exportação em estado inadequado é de 10 minutos antes de parar e mover para um novo trabalho ou tentar a exportação novamente.

O serviço FHIR dá suporte a $export nos seguintes níveis:

  • Sistema: GET https://<<FHIR service base URL>>/$export>>
  • Paciente: GET https://<<FHIR service base URL>>/Patient/$export>>
  • Grupo de pacientes * -o serviço FHIR exporta todos os recursos relacionados, mas não exporta as características do Grupo: GET https://<<FHIR service base URL>>/Group/[ID]/$export>>

Quando os dados são exportados, um arquivo separado é criado para cada tipo de recurso. Para garantir que os arquivos exportados não se tornem muito grandes. Criamos um novo arquivo depois que o tamanho de um único arquivo exportado se torna maior que 64 MB. O resultado é que você pode obter vários arquivos para cada tipo de recurso, que será enumerado (ou seja, paciente-1. ndjson, paciente-2. ndjson).

Observação

Patient/$export e Group/[ID]/$export poderá exportar recursos duplicados se o recurso estiver em um compartimento de mais de um recurso ou em vários grupos.

Além disso, a verificação do status de exportação por meio da URL retornada pelo cabeçalho de local durante o enfileiramento tem suporte junto com o cancelamento do trabalho de exportação real.

Exportando dados do FHIR para ADLS Gen2

Atualmente, damos suporte a $export para ADLS Gen2 contas de armazenamento habilitadas, com a seguinte limitação:

  • O usuário não pode tirar proveito de namespaces hierárquicos, mas não há uma maneira de direcionar a exportação para um subdiretório específico dentro do contêiner. Só fornecemos a capacidade de direcionar um contêiner específico (onde criamos uma nova pasta para cada exportação).
  • Depois que uma exportação for concluída, nunca exportaremos nada para essa pasta novamente, pois as exportações subsequentes para o mesmo contêiner estarão dentro de uma pasta recém-criada.

Configurações e parâmetros

Cabeçalhos

Há dois parâmetros de cabeçalho necessários que devem ser definidos para trabalhos de $export. Os valores são definidos pela especificação de $Exportatual.

  • Accept -Application/fhir + JSON
  • Preferir -responder-Async

Parâmetros de consulta

O serviço FHIR dá suporte aos seguintes parâmetros de consulta. Todos esses parâmetros são opcionais:

Parâmetro de consulta Definido pela especificação de FHIR? Descrição
_outputFormat Sim Atualmente dá suporte a três valores para alinhar à especificação FHIR: Application/FHIR + ndjson, Application/ndjson ou apenas ndjson. Todos os trabalhos de exportação serão retornados ndjson e o valor passado não terá efeito sobre o comportamento do código.
_since Sim Permite exportar apenas os recursos que foram modificados desde o momento fornecido
_Escreva Sim Permite especificar quais tipos de recursos serão incluídos. Por exemplo, _ digite = paciente retornaria apenas os recursos do paciente
_typefilter Sim Para solicitar uma filtragem refinada, você pode usar _ TypeFilter juntamente com o _ parâmetro de tipo. O valor do parâmetro _typeFilter é uma lista separada por vírgulas de consultas FHIR que restringem ainda mais os resultados
_Container Não Especifica o contêiner dentro da conta de armazenamento configurada onde os dados devem ser exportados. Se um contêiner for especificado, os dados serão exportados para uma pasta para esse contêiner. Se o contêiner não for especificado, os dados serão exportados para um novo contêiner.

Observação

Somente contas de armazenamento na mesma assinatura que para o serviço FHIR podem ser registradas como destino para operações de $export.

exportação segura para o Azure Armazenamento

O serviço FHIR dá suporte a uma operação de exportação segura. Escolha uma das duas opções abaixo:

  • Permitir que o serviço FHIR seja um serviço confiável da Microsoft para acessar a conta de armazenamento do Azure.

  • Permitir que endereços IP específicos associados ao serviço FHIR acessem a conta de armazenamento do Azure. Essa opção fornece duas configurações diferentes, dependendo se a conta de armazenamento está no mesmo local que ou está em um local diferente do serviço FHIR.

Permitindo o serviço FHIR como um serviço confiável da Microsoft

Selecione uma conta de armazenamento na portal do Azure e, em seguida, selecione a folha rede . Selecione redes selecionadas na guia firewalls e redes virtuais .

Importante

Verifique se você concedeu permissão de acesso à conta de armazenamento para o serviço FHIR usando sua identidade gerenciada. Para obter mais detalhes, consulte definir configuração de exportação e configurar a conta de armazenamento.

Configurações de rede Armazenamento do Azure.

na seção exceções , selecione a caixa permitir que serviços Microsoft confiáveis acesse essa conta de armazenamento e salve a configuração.

permitir que serviços Microsoft confiáveis acessem esta conta de armazenamento.

Agora você está pronto para exportar dados do FHIR para a conta de armazenamento com segurança. Observe que a conta de armazenamento está em redes selecionadas e não é acessível publicamente. Para acessar os arquivos, você pode habilitar e usar pontos de extremidade privados para a conta de armazenamento ou habilitar todas as redes para a conta de armazenamento por um curto período de tempo.

Importante

A interface do usuário será atualizada posteriormente para permitir que você selecione o tipo de recurso para o serviço FHIR e uma instância de serviço específica.

Permitindo endereços IP específicos para a conta de armazenamento do Azure em uma região diferente

Selecione rede da conta de armazenamento do Azure no Portal.

Selecione Redes selecionadas. Na seção firewall, especifique o endereço IP na caixa intervalo de endereços . Adicione intervalos de IP para permitir o acesso da Internet ou de suas redes locais. Você pode encontrar o endereço IP na tabela abaixo para a região do Azure em que o serviço do serviço FHIR é provisionado.

Região do Azure Endereço IP público
Leste da Austrália 20.53.44.80
Canadá Central 20.48.192.84
Centro dos EUA 52.182.208.31
Leste dos EUA 20.62.128.148
Leste dos EUA 2 20.49.102.228
Leste dos EUA 2 EUAP 20.39.26.254
Norte da Alemanha 51.116.51.33
Centro-Oeste da Alemanha 51.116.146.216
Leste do Japão 20.191.160.26
Coreia Central 20.41.69.51
Centro-Norte dos EUA 20.49.114.188
Norte da Europa 52.146.131.52
Norte da África do Sul 102.133.220.197
Centro-Sul dos Estados Unidos 13.73.254.220
Sudeste Asiático 23.98.108.42
Norte da Suíça 51.107.60.95
Sul do Reino Unido 51.104.30.170
Oeste do Reino Unido 51.137.164.94
Centro-Oeste dos EUA 52.150.156.44
Europa Ocidental 20.61.98.66
Oeste dos EUA 2 40.64.135.77

Observação

As etapas acima são semelhantes às etapas de configuração descritas no documento Como converter dados em FHIR (versão prévia). Para obter mais informações, consulte Hospedar e usar modelos

Permitindo endereços IP específicos para a conta de armazenamento do Azure na mesma região

O processo de configuração é o mesmo que acima, exceto que um intervalo de endereços IP específico no formato CIDR é usado em vez disso, 100.64.0.0/10. O motivo pelo qual o intervalo de endereços IP, que inclui 100.64.0.0 – 100.127.255.255, deve ser especificado porque o endereço IP real usado pelo serviço varia, mas estará dentro do intervalo, para cada solicitação $export.

Observação

É possível que um endereço IP privado dentro do intervalo de 10.0.2.0/24 possa ser usado em vez disso. Nesse caso, a operação $export será bem-sucedida. Você pode repetir a solicitação $export, mas não há nenhuma garantia de que um endereço IP dentro do intervalo de 100.64.0.0/10 será usado na próxima vez. Esse é o comportamento de rede conhecido por design. A alternativa é configurar a conta de armazenamento em uma região diferente.

Próximas etapas

Neste artigo, você aprendeu a exportar recursos FHIR usando $export comando. Em seguida, para saber como exportar dados não identificados, confira: