Esta página explica como exportar e importar recursos FHIR para e a partir do Cloud Storage através dos métodos projects.locations.datasets.fhirStores.import
e projects.locations.datasets.fhirStores.export
.
Consoante o formato dos seus dados FHIR, para carregar dados para um arquivo FHIR, pode usar o método projects.locations.datasets.fhirStores.import
ou o método projects.locations.datasets.fhirStores.fhir.executeBundle
. Para orientações sobre a escolha de um método, consulte o artigo
Importação de FHIR.
Definir autorizações do Cloud Storage
Antes de exportar e importar recursos FHIR para e a partir do Cloud Storage, tem de conceder autorizações adicionais à conta de serviço do agente do Cloud Healthcare Service . Para mais informações, consulte o artigo Autorizações do Cloud Storage da loja FHIR.
Gerar dados de pacientes simulados
O Synthea™ é um simulador para gerar dados da população de pacientes. Se não estiver a usar o Synthea™ para gerar dados da população de pacientes, avance para a secção Importar recursos FHIR ou Exportar recursos FHIR.
Só pode importar dados na versão que a sua loja FHIR está configurada para aceitar.
Para transferir e instalar o Synthea™, conclua os seguintes passos:
Clone o repositório da ferramenta Synthea™ a partir do GitHub:
git clone https://github.com/synthetichealth/synthea.git
Conclua os passos de instalação.
Continue para uma das seguintes secções para gerar dados para uma versão específica da FHIR:
Gerar dados de pacientes simulados para o R4
Por predefinição, os dados Synthea™ gerados usam a representação JSON FHIR R4 para recursos. Para gerar dados FHIR R4 do Synthea™ e importá-los para um repositório FHIR da Cloud Healthcare API, conclua os seguintes passos:
Siga as instruções para gerar dados sintéticos de pacientes. Os resultados de dados gerados são enviados para o
synthea/output/fhir_r4
para FHIR R4.Copie os dados gerados para um contentor do Cloud Storage para que os possa importar para um arquivo FHIR da API Cloud Healthcare. Por exemplo, para copiar os dados para um diretório denominado
synthea-data
num contentor do Cloud Storage existente, execute o seguinte comandogcloud storage cp
a partir do diretóriosynthea
:gcloud storage cp output/fhir_r4/* gs://BUCKET/synthea-data
Siga as instruções para importar recursos FHIR.
Gerar dados de pacientes simulados para DSTU2 ou STU3
Para gerar dados Synthea™ FHIR DSTU2 ou STU3 e importá-los para um repositório FHIR da Cloud Healthcare API, conclua os seguintes passos:
No diretório
synthea
, use um editor de texto para abrir o ficheirosrc/main/resources/synthea.properties
e, em seguida, faça as seguintes alterações, consoante esteja a gerar dados DSTU2 ou STU3.Para gerar dados FHIR STU3:
- Defina todos os valores de
*.fhir.export
e*.fhir_dstu2.export
comofalse
- Defina todos os valores de
*.fhir_stu3.export
como true
Para gerar dados FHIR DSTU2:
- Defina todos os valores de
*.fhir.export
e*.fhir_stu3.export
comofalse
- Defina todos os valores de
*.fhir_dstu2.export
como true
Por exemplo, para gerar dados FHIR STU3:
exporter.fhir.export = false exporter.fhir_stu3.export = true exporter.fhir_dstu2.export = false exporter.hospital.fhir.export = false exporter.hospital.fhir_stu3.export = true exporter.hospital.fhir_dstu2.export = false exporter.practitioner.fhir.export = false exporter.practitioner.fhir_stu3.export = true exporter.practitioner.fhir_dstu2.export = false
- Defina todos os valores de
Siga as instruções para gerar dados sintéticos de pacientes. Os dados gerados são enviados para o diretório
synthea/output/fhir_stu3
para FHIR STU3 ou para o diretóriosynthea/output/fhir_dstu2
para FHIR DSTU2.Copie os dados gerados para um contentor do Cloud Storage para que os possa importar para um arquivo FHIR da API Cloud Healthcare. Por exemplo, para copiar os dados para um diretório denominado
synthea-data
num contentor do Cloud Storage existente, execute o seguinte comandogcloud storage cp
a partir do diretóriosynthea
:gcloud storage cp output/fhir_stu3/* gs://BUCKET/synthea-data
Siga as instruções para importar recursos FHIR.
Importar recursos FHIR
Quando configurar o corpo do pedido de importação, defina o
ContentStructure
para um dos seguintes valores:
CONTENT_STRUCTURE_UNSPECIFIED
BUNDLE
: o ficheiro de origem contém uma ou mais linhas de JSON delimitado por newline (ndjson). Cada linha é um pacote que contém um ou mais recursos. Se não especificarContentStructure
, a predefinição éBUNDLE
.RESOURCE
: o ficheiro de origem contém uma ou mais linhas de JSON delimitado por newline (ndjson). Cada linha é um único recurso.BUNDLE_PRETTY
: todo o ficheiro de origem é um pacote JSON. O JSON pode abranger várias linhas.RESOURCE_PRETTY
: todo o ficheiro de origem é um recurso JSON. O JSON pode abranger várias linhas.
Por exemplo, suponha que está a importar um ficheiro denominado resources.ndjson
com o seguinte conteúdo:
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"6090e773-3e91-40a7-8fce-1e22f6774c29","reason":[{"text":"The patient had an abnormal heart rate. She was concerned about this."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/2938bb9e-1f16-429e-8d44-9508ab0e4151"}}
{"class":{"code":"IMP","display":"inpatient encounter","system":"http://hl7.org/fhir/v3/ActCode"},"id":"7101f884-4f02-51b8-9gdf-2f33g7885d30","reason":[{"text":"The patient was experiencing recurrent fevers."}],"resourceType":"Encounter","status":"finished","subject":{"reference":"Patient/3049cc0f-2g27-530f-9e55-0619bc1f5262"}}
{"birthDate":"1970-01-01","gender":"female","id":"2938bb9e-1f16-429e-8d44-9508ab0e4151","name":[{"family":"Smith","given":["Darcy"],"use":"official"}],"resourceType":"Patient"}
O ficheiro contém dois recursos Encounter e um recurso Patient. Cada recurso está numa linha separada, pelo que define ContentStructure
como RESOURCE
.
Os dados podem ser importados incorretamente ou não ser importados se ContentStructure
não corresponderem ao formato dos dados. Por exemplo, o ficheiro de exemplo acima não é importado corretamente, a menos que ContentStructure
esteja definido como RESOURCE
no pedido de importação.
Os exemplos seguintes mostram como importar recursos FHIR de um contentor do Cloud Storage.
Consola
Para importar recursos FHIR de um contentor do Cloud Storage, conclua os seguintes passos:
- Na Google Cloud consola, aceda à página Conjuntos de dados.
Aceder a conjuntos de dados - Clique no conjunto de dados que contém o FHIR store para o qual está a importar recursos FHIR.
- Na lista de repositórios de dados, escolha Importar na lista Ações do repositório FHIR.
É apresentada a página Importar para o repositório FHIR. - Na lista Projeto, selecione um projeto do Cloud Storage.
- Na lista Localização, selecione um contentor do Cloud Storage.
- Em Definições de importação de FHIR, selecione a estrutura de conteúdo relevante.
- Clique em Importar para importar recursos FHIR.
- Para acompanhar o estado da operação, clique no separador Operações. Após a conclusão da operação, são apresentadas as seguintes indicações:
- A secção Estado da operação de longa duração tem uma marca de verificação verde no cabeçalho OK.
- A secção Vista geral tem uma marca de verificação verde e um indicador OK na mesma linha que o ID da operação.
gcloud
Para importar recursos FHIR para uma loja FHIR, use o comando
gcloud healthcare fhir-stores import gcs
. Especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- A localização do objeto num contentor do Cloud Storage. A localização dos ficheiros no contentor é arbitrária e não tem de seguir exatamente o formato especificado no exemplo seguinte. Quando especifica a localização dos recursos FHIR no Cloud Storage, pode usar carateres universais para importar vários ficheiros de um ou mais diretórios.
Os seguintes carateres universais são suportados:
- Use
*
para corresponder a 0 ou mais carateres não separadores. Por exemplo,gs://BUCKET/DIRECTORY/Example*.ndjson
corresponde a Example.ndjson e Example22.ndjson em DIRECTORY. - Use
**
para representar 0 ou mais carateres (incluindo separadores). Tem de ser usado no final de um caminho e sem outros carateres universais no caminho. Também pode ser usado com uma extensão de nome de ficheiro (como .ndjson), que importa todos os ficheiros com a extensão de nome de ficheiro no diretório especificado e respetivos subdiretórios. Por exemplo,gs://BUCKET/DIRECTORY/**.ndjson
importa todos os ficheiros com a extensão de nome de ficheiro .ndjson em DIRECTORY e nos respetivos subdiretórios. - Use
?
para corresponder a 1 caráter. Por exemplo,gs://BUCKET/DIRECTORY/Example?.ndjson
corresponde a Example1.ndjson, mas não corresponde a Example.ndjson nem a Example01.ndjson.
- Use
O exemplo seguinte mostra o comando gcloud healthcare fhir-stores import gcs
.
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --gcs-uri=gs://BUCKET/DIRECTORY/FHIR_RESOURCE_NAME.ndjson
Para especificar a estrutura dos ficheiros de origem FHIR, use a flag --content-structure
.
A linha de comandos apresenta o ID da operação e, após a conclusão da operação,
done
:
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Para ver mais detalhes da operação, execute o comando
gcloud healthcare operations describe
e indique o OPERATION_ID da resposta:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
A resposta inclui done: true
.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' logsUrl: https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL, counter: success: 'SUCCESS_COUNT' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
Para importar recursos FHIR para um arquivo FHIR, use o método
projects.locations.datasets.fhirStores.import
.
- A localização dos ficheiros no segmento é arbitrária e não tem de seguir exatamente o formato especificado nos exemplos seguintes.
- Quando especifica a localização dos recursos FHIR no Cloud Storage,
pode usar carateres universais para importar vários ficheiros de um ou mais diretórios.
Os seguintes carateres universais são suportados:
- Use
*
para corresponder a 0 ou mais carateres não separadores. Por exemplo,gs://BUCKET/DIRECTORY/Example*.ndjson
corresponde a Example.ndjson e Example22.ndjson em DIRECTORY. - Use
**
para representar 0 ou mais carateres (incluindo separadores). Tem de ser usado no final de um caminho e sem outros carateres universais no caminho. Também pode ser usado com uma extensão de nome de ficheiro (como .ndjson), que importa todos os ficheiros com a extensão de nome de ficheiro no diretório especificado e respetivos subdiretórios. Por exemplo,gs://BUCKET/DIRECTORY/**.ndjson
importa todos os ficheiros com a extensão de nome de ficheiro .ndjson em DIRECTORY e nos respetivos subdiretórios. - Use
?
para corresponder a 1 caráter. Por exemplo,gs://BUCKET/DIRECTORY/Example?.ndjson
corresponde a Example1.ndjson, mas não corresponde a Example.ndjson nem a Example01.ndjson.
- Use
curl
Para importar recursos FHIR para um arquivo FHIR, faça um pedido POST
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- A localização do objeto num contentor do Cloud Storage
- Uma chave de acesso
O exemplo seguinte mostra como importar um único ficheiro através de um pedido POST
usando curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Se o pedido for bem-sucedido, o servidor devolve a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
A resposta contém um nome de operação. Para acompanhar o estado da operação,
pode usar o método
Operation get
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Se o pedido for bem-sucedido, o servidor devolve uma resposta com o estado da operação no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
PowerShell
Para importar recursos FHIR para um arquivo FHIR, faça um pedido POST
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- A localização do objeto num contentor do Cloud Storage
- Uma chave de acesso
O exemplo seguinte mostra um pedido POST
através do Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'contentStructure': 'CONTENT_STRUCTURE', 'gcsSource': { 'uri': 'gs://BUCKET/DIRECTORY/FHIR_RESOURCE_FILE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
A resposta contém um nome de operação. Para acompanhar o estado da operação,
pode usar o método
Operation get
:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve uma resposta com o estado da operação no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Go
Java
Node.js
Python
Exportar recursos FHIR
Os exemplos seguintes mostram como exportar recursos FHIR para um contentor do Cloud Storage. Quando exporta recursos FHIR de um FHIR store, todos os recursos no FHIR store são exportados.
Se exportar recursos FHIR de forma programada, considere exportar os dados de forma incremental. Para ver instruções, consulte o artigo Exportações incrementais.
Durante a exportação, a API Cloud Healthcare cria um ficheiro para cada tipo de recurso da loja FHIR. O nome do ficheiro é composto pelo ID da operação e pelo
tipo de recurso separados por um sublinhado. Cada ficheiro consiste em JSON delimitado por novas linhas, em que cada linha é um recurso FHIR correspondente ao tipo de recurso no nome do ficheiro. Por exemplo, se exportar vários registos de pacientes, o ficheiro de saída vai ter um nome semelhante a 1264567891234567_Patient
e vai conter uma linha para cada recurso de paciente da FHIR store.
Consola
Para exportar recursos FHIR para o Cloud Storage, conclua os seguintes passos:
- Na Google Cloud consola, aceda à página Conjuntos de dados.
Aceder a conjuntos de dados - Clique no conjunto de dados que contém o armazenamento FHIR a partir do qual está a exportar recursos FHIR.
- Na lista de arquivos de dados, escolha Exportar na lista Ações
para o arquivo FHIR.
É apresentada a página Exportar recursos FHIR. - Selecione Contentor do Google Cloud Storage.
- Na lista Projeto, selecione um projeto do Cloud Storage.
- Na lista Localização, selecione um contentor do Cloud Storage.
- Clique em Exportar para exportar recursos FHIR para a localização definida no Cloud Storage.
- Para acompanhar o estado da operação, clique no separador Operações. Após a conclusão da operação, são apresentadas as seguintes indicações:
- A secção Estado da operação de longa duração tem uma marca de verificação verde no cabeçalho OK.
- A secção Vista geral tem uma marca de verificação verde e um indicador OK na mesma linha que o ID da operação.
gcloud
Para exportar recursos FHIR para um contentor do Cloud Storage, use o comando
gcloud healthcare fhir-stores export gcs
. Especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O nome do projeto principal
- O contentor ou o diretório de destino do Cloud Storage. Escreva num diretório ou num contentor do Cloud Storage, em vez de num objeto, porque a Cloud Healthcare API cria um objeto para cada tipo de recurso. Cada objeto consiste em JSON delimitado por newline, em que cada linha é um recurso FHIR. Se especificar um diretório que não existe, este é criado.
- Um parâmetro opcional,
--resource-type
, que exporta apenas tipos de recursos específicos, definidos como uma lista separada por vírgulas de um ou mais tipos de recursos FHIR - Uma flag opcional,
--since
, que exporta apenas recursos atualizados após um momento específico, definido comoYYYY-MM-DDThh:mm:ss.sss+zz:zz
O exemplo seguinte mostra o comando gcloud healthcare fhir-stores export gcs
.
gcloud healthcare fhir-stores export gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --project=PROJECT_ID --gcs-uri=gs://BUCKET/DIRECTORY
A linha de comandos apresenta o ID da operação:
Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Para ver o estado da operação, execute o comando
gcloud healthcare operations describe
e indique o OPERATION_ID da resposta:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
Após a conclusão do comando, a resposta inclui done
.
metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ExportFhirData createTime: "CREATE_TIME" endTime: "END_TIME" name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID resourceCount: 'RESOURCE_COUNT'
API
Para exportar recursos FHIR, use o método
projects.locations.datasets.fhirStores.export
.
- Escreva num contentor ou diretório do Cloud Storage, em vez de num objeto, porque a Cloud Healthcare API cria um ficheiro JSON delimitado por nova linha para cada tipo de recurso. Em cada ficheiro JSON, cada linha é um recurso FHIR.
- Se o comando especificar um diretório que não existe, o diretório é criado.
curl
Para exportar recursos FHIR, faça um pedido POST
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O contentor de destino do Cloud Storage
- Uma chave de acesso
- Um campo opcional,
_type
, que apenas exporta tipos de recursos específicos, definidos como uma lista separada por vírgulas de um ou mais tipos de recursos FHIR - Um campo opcional,
_since
, que exporta apenas recursos atualizados após um momento específico, definido comoYYYY-MM-DDThh:mm:ss.sss+zz:zz
O exemplo seguinte mostra um pedido POST
através de curl
.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"
Se o pedido for bem-sucedido, o servidor devolve a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
A resposta contém um nome de operação. Para acompanhar o estado da operação,
pode usar o método
Operation get
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Se o pedido for bem-sucedido, o servidor devolve uma resposta com o estado da operação no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
PowerShell
Para exportar recursos FHIR, faça um pedido POST
e especifique as seguintes informações:
- O nome do conjunto de dados principal
- O nome do FHIR store
- O contentor ou o diretório de destino do Cloud Storage. Escreva num diretório ou num contentor do Cloud Storage, em vez de num objeto, porque a Cloud Healthcare API cria um objeto para cada tipo de recurso. Cada objeto consiste em JSON delimitado por newline, em que cada linha é um recurso FHIR.
- Uma chave de acesso
- Um campo opcional,
_type
, que apenas exporta tipos de recursos específicos, definidos como uma lista separada por vírgulas de um ou mais tipos de recursos FHIR - Um campo opcional,
_since
, que exporta apenas recursos atualizados após um momento específico, definido comoYYYY-MM-DDThh:mm:ss.sss+zz:zz
O exemplo seguinte mostra um pedido POST
através do Windows PowerShell.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'gcsDestination': { 'uriPrefix': 'gs://BUCKET/DIRECTORY' }, }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve a resposta no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
A resposta contém um nome de operação. Para acompanhar o estado da operação,
pode usar o método
Operation get
:
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve uma resposta com o estado da operação no formato JSON:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ExportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ExportResourcesResponse", } }
Go
Java
Node.js
Python
Exportações incrementais
Pode especificar uma data/hora para exportar apenas recursos FHIR adicionados à sua loja FHIR desde uma exportação bem-sucedida anterior. Isto melhora o desempenho e evita o custo de reexportar toda a loja FHIR, ao mesmo tempo que garante que os dados exportados estão sempre atualizados.
Quando chamar fhirStores.export
,
especifique a data/hora no campo _since
.
Resolução de problemas de pedidos de importação e exportação de FHIR
Se ocorrerem erros durante um pedido de importação ou exportação de FHIR, os erros são registados no Cloud Logging. Para mais informações, consulte o artigo Ver registos de erros nos Registos na nuvem.
Se toda a operação devolver um erro, consulte o artigo Resolução de problemas de operações de longa duração.
O que se segue?
- Se importou com êxito dados FHIR e quer analisá-los no BigQuery, continue para o artigo Exportar dados FHIR para o BigQuery.