Compartilhar via


Exportar seus dados FHIR

Usando a operação em massa $export no serviço FHIR®, você pode exportar dados conforme descrito na especificação HL7 FHIR Bulk Data Access.

Antes de tentar usar $exporto , verifique se o serviço FHIR está configurado para se conectar a uma conta do Azure Data Lake Storage Gen2. Para configurar as definições de exportação e criar uma conta do Data Lake Storage Gen2, consulte Configurar definições para exportação.

Chamar o $export ponto de extremidade

Depois de configurar o serviço FHIR para se conectar a uma conta do Data Lake Storage Gen2, você pode chamar o $export ponto de extremidade e o serviço FHIR exportará dados para um contêiner de Armazenamento de Blobs do Azure dentro da conta de armazenamento. A solicitação de exemplo a seguir exporta todos os recursos para um contêiner, que é especificado pelo nome ({{containerName}}). Observação: Você deve criar o contêiner na conta do Data Lake Storage Gen2 com antecedência se quiser especificar o {{containerName}} na solicitação.

GET {{fhirurl}}/$export?_container={{containerName}}

Se você não especificar um nome de contêiner na solicitação (por exemplo, chamando GET {{fhirurl}}/$export), um novo contêiner com um nome gerado automaticamente será criado para os dados exportados.

Para obter informações gerais sobre a especificação da API FHIR $export , consulte a documentação do fluxo de solicitação de exportação HL7 FHIR.

O serviço FHIR oferece suporte $export nos seguintes níveis:

  • Sistema: GET {{fhirurl}}/$export
  • Paciente: GET {{fhirurl}}/Patient/$export
  • Grupo de pacientes*: GET {{fhirurl}}/Group/[ID]/$export
    *O serviço FHIR exporta todos os recursos referenciados, mas não exporta as características do recurso de grupo em si.

Os dados são exportados em vários arquivos. Cada arquivo contém recursos de apenas um tipo. O número de recursos em um arquivo individual é. O número máximo de recursos é baseado no desempenho do sistema. Atualmente, está definido como 5.000, mas pode mudar. O resultado é que você pode obter vários arquivos para um tipo de recurso. Os nomes dos arquivos seguem o formato <resourceName>-<number>-<number>.ndjson. Não há garantia de que a ordem dos arquivos corresponda a qualquer ordenação dos recursos no banco de dados.

Observação

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

Além de verificar a presença de arquivos exportados em sua conta de armazenamento, você pode verificar $export o status da operação por meio da URL no Content-Location cabeçalho retornado na resposta do serviço FHIR. Para obter mais informações, consulte a documentação da Solicitação de Status de Dados em Massa do HL7.

Exportar seus dados FHIR para o Data Lake Storage Gen2

Atualmente, o serviço FHIR dá suporte $export a contas do Data Lake Storage Gen2, com as seguintes limitações:

  • O Data Lake Storage Gen2 fornece namespaces hierárquicos, mas não há uma maneira de direcionar $export operações para um subdiretório específico em um contêiner. O serviço FHIR pode especificar apenas o contêiner de destino para a exportação, onde uma nova pasta para cada $export operação é criada.
  • Depois que uma $export operação é concluída e todos os dados são gravados em uma pasta, o serviço FHIR não exporta nada para essa pasta novamente. As exportações subsequentes para o mesmo contêiner estarão dentro de uma pasta recém-criada.

Para exportar dados para uma conta de armazenamento protegida por um firewall, consulte Definir configurações para exportação.

Configurações e parâmetros

Cabeçalhos

Dois parâmetros de cabeçalho necessários devem ser definidos para $export trabalhos. Os valores são definidos de acordo com a especificação atual do HL7 $export.

  • Aceitar: application/fhir+json
  • Preferir: respond-async

Parâmetros de consulta

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

Parâmetro de consulta Definido pela especificação FHIR? Descrição
_outputFormat Sim Atualmente, oferece suporte a três valores para se alinhar à especificação FHIR: application/fhir+ndjson, application/ndjson, ou apenas ndjson. Todos os trabalhos de exportação retornam .ndjson arquivos e o valor passado não tem efeito sobre o comportamento do código.
_since Sim Permite exportar apenas recursos que foram modificados desde o tempo especificado.
_type Sim Permite especificar quais tipos de recursos devem ser incluídos. Por exemplo, _type=Patient retornaria apenas recursos do paciente.
_typeFilter Sim Para solicitar uma filtragem mais refinada, você pode usar _typeFilter junto com o _type parâmetro. O valor do parâmetro é uma lista separada por vírgulas _typeFilter de consultas FHIR que limitam ainda mais os resultados.
_container Não Especifica o nome do contêiner na conta de armazenamento configurada para onde os dados devem ser exportados. Se um contêiner for especificado, os dados serão exportados para uma pasta nesse contêiner. Se o contêiner não for especificado, os dados serão exportados para um novo contêiner com um nome gerado automaticamente.
_till Não Permite exportar recursos que foram modificados até o tempo especificado. Esse parâmetro é aplicável somente com a exportação no nível do sistema. Nesse caso, se as versões históricas não tiverem sido desabilitadas ou limpas, export garante uma exibição de instantâneo verdadeira.
includeAssociatedData Não Permite exportar o histórico e os recursos excluídos de forma reversível. Este filtro não funciona com o parâmetro de consulta '_typeFilter'. Inclua o valor como '_history' para exportar o histórico/recursos com versão não mais recentes. Inclua o valor como '_deleted' para exportar recursos excluídos de forma reversível.

Observação

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

Solucionar problemas

As informações a seguir podem ajudá-lo a resolver problemas com a exportação de dados FHIR.

Empregos presos em um estado ruim

Em algumas situações, há um potencial para que um trabalho fique preso em um estado ruim enquanto o serviço FHIR está tentando exportar dados. Isso pode ocorrer especialmente se as permissões da conta do Data Lake Storage Gen2 não tiverem sido configuradas corretamente.

Uma maneira de verificar o status da operação $export é acessar o navegador de armazenamento da conta de armazenamento e ver se algum .ndjson arquivo está presente no contêiner de exportação. Se os arquivos não estiverem presentes e nenhum outro $export trabalho estiver em execução, é possível que o trabalho atual esteja preso em um estado incorreto. Nesse caso, você pode cancelar o $export trabalho enviando uma solicitação DELETE para a URL fornecida no cabeçalho Content-Location para cancelar a solicitação

Observação

No serviço FHIR, o tempo padrão para uma $export operação ficar ociosa em um estado ruim é de 10 minutos antes que o serviço interrompa a operação e mude para um novo trabalho.

Próximas etapas

Neste artigo, você aprendeu a exportar recursos FHIR usando a $export operação. Para obter informações sobre como configurar e usar outras opções de exportação, consulte:

Observação

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.