Partilhar via


Exporte 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 definir as configurações de exportação e criar uma conta do Data Lake Storage Gen2, consulte Configurar configuraçõ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 Blob 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}}). Nota: 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 as especificações da API FHIR $export , consulte a documentação do HL7 FHIR Export Request Flow .

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

  • Sistema: GET {{fhirurl}}/$export
  • Doente: GET {{fhirurl}}/Patient/$export
  • Grupo de doentes*: GET {{fhirurl}}/Group/[ID]/$export
    *O serviço FHIR exporta todos os recursos referenciados, mas não exporta as características do recurso do 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 para 5.000, mas pode mudar. O resultado é que você pode obter vários arquivos para um tipo de recurso. Os nomes dos ficheiros seguem o formato <resourceName>-<number>-<number>.ndjson. Não é garantido que a ordem dos ficheiros corresponda a qualquer ordenação dos recursos na base de dados.

Nota

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 o $export status da operação através da URL no Content-Location cabeçalho retornado na resposta do serviço FHIR. Para obter mais informações, consulte a documentação de solicitação de status de dados em massa do HL7.

Exporte seus dados FHIR para o Data Lake Storage Gen2

Atualmente, o serviço FHIR suporta $export contas 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 dentro de 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 foram gravados dentro de 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 atrás de um firewall, consulte Definir configurações para exportação.

Definiçõ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 $export HL7.

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

Parâmetros de consultas

O serviço FHIR suporta os seguintes parâmetros de consulta para filtrar dados exportados. Todos estes parâmetros são opcionais.

Parâmetro de consulta Definido pela especificação FHIR? Description
_outputFormat Sim Atualmente suporta três valores para alinhar com a 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 devolveria 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 _typeFilter parâmetro é uma lista separada por vírgulas 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. Este parâmetro é aplicável somente com exportação no nível do sistema. Nesse caso, se as versões históricas não tiverem sido desativadas ou limpas, a exportação garantirá uma verdadeira visualização de instantâneo.
includeAssociatedData Não Permite exportar histórico e recursos excluídos suavemente. Este filtro não funciona com o parâmetro de consulta '_typeFilter'. Inclua o valor como '_history' para exportar recursos versionados do histórico/não mais recentes. Inclua o valor como '_deleted' para exportar recursos excluídos por software.

Nota

Apenas as contas de armazenamento na mesma subscrição que o serviço FHIR podem ser registadas como destino das $export operações.

Resolver problemas

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

Empregos presos em mau estado

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

Uma maneira de verificar o status da sua $export operação é ir para o navegador de armazenamento da sua 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 mau estado. 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

Nota

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

Próximos passos

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

Nota

FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.