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 $export
o , 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.