Nesta página, descrevemos como exportar mensagens de HL7v2 de um armazenamento HL7v2 para o Cloud Storage. É possível exportar mensagens HL7v2 em massa para o Cloud Storage para processamento downstream.
Antes de começar
Consulte Exportar mensagens HL7v2 do Cloud Storage. para os papéis que você precisa conceder à conta de serviço do Agente de serviço do Cloud Healthcare.
Exportar as mensagens HL7v2 para o Cloud Storage
A API Cloud Healthcare exporta cada mensagem HL7v2 como um
linha em um arquivo NDJSON .ndjson
. As mensagens HL7v2 são ordenadas
cronológicamente pelo valor
sendTime
.
Exporte para um bucket ou pasta do Cloud Storage, em vez de um objeto, porque a API Cloud Healthcare pode criar vários arquivos NDJSON quando há muitas mensagens HL7v2.
Se você exportar para uma pasta do Cloud Storage que não existe, a pasta é criada.
Console
Para exportar mensagens de HL7v2 para o Cloud Storage, conclua estas etapas: etapas:
No console do Google Cloud, acesse a página Conjuntos de dados.
Clique no conjunto de dados que contém o armazenamento de HL7v2 do qual você está exportando mensagens de HL7v2.
Na lista de repositórios de dados, selecione Exportar nas Ações para o armazenamento de HL7v2.
A página Exportar mensagens HL7v2 é exibida.
Na lista Projeto, selecione um projeto do Cloud Storage.
Na lista Local, selecione um bucket do Cloud Storage.
Clique em Exportar para exportar instâncias HL7v2 para o local definido no Cloud Storage.
- Para acompanhar o status da operação, clique na guia Operações. Após a conclusão da operação, as seguintes indicações serão exibidas:
- A seção Status da operação de longa duração tem uma marca de seleção verde no cabeçalho OK.
- A seção Visão geral tem uma marca de seleção verde e um indicador OK na mesma linha do ID da operação.
Exportar mensagens HL7v2 para o Cloud Storage usando filtros
Por padrão, a exportação de mensagens de HL7v2 para o Cloud Storage inclui todas as mensagens
mensagens em um armazenamento HL7v2 e todos os campos em cada Message
objeto.
É possível filtrar as mensagens de HL7v2 exportadas da seguinte maneira:
- Use filtros para exportar um subconjunto de mensagens HL7v2 que correspondam a uma critérios de filtro. Para mais informações, consulte Exportar um subconjunto de mensagens HL7v2 usando um filtro.
- Use o objeto
MessageView
para selecionar os campos em cadaMessage
para exportação. Para mais informações, consulte Exportar mensagens HL7v2 pelo campoMessage
.
Exportar um subconjunto de mensagens HL7v2 usando um filtro
É possível usar os seguintes campos nos critérios de filtro:
É possível especificar os parâmetros de filtro a seguir como critérios de filtro no campo filter
. Para saber mais sobre a sintaxe
de filtro e criar consultas, consulte
Strings de consulta.
message_type
: do campo MSH.9.1. Por exemplo,NOT message_type = "ADT"
.send_date
: a dataYYYY-MM-DD
em que a mensagem foi enviada do segmento MSH.7, especificada no fuso horário do conjunto de dados. Por exemplo,send_date < "2017-01-02"
.send_time
: o carimbo de data/hora em que a mensagem foi enviada. Esse parâmetro é de o segmento MSH.7 da mensagem. Esse parâmetro usa o Formato de hora RFC 3339 para comparações. Por exemplo,send_time < "2017-01-02T00:00:00-05:00"
.create_time
: o carimbo de data/hora em que a mensagem foi criada na API Cloud Healthcare, usando o formato de hora RFC 3339 para comparações. Por exemplo,create_time < "2017-01-02T00:00:00-05:00"
.send_facility
: o centro de atendimento de origem da mensagem, no segmento MSH.4. Por exemplo,send_facility = "ABC"
.
Os exemplos a seguir mostram como especificar um filtro para exportar apenas mensagens HL7v2
do tipo ADT
.
REST
Usar o
hl7V2Stores.export
para exportar as mensagens de HL7v2:Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;LOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de HL7v2HL7V2_STORE_ID
: o ID da loja de HL7v2CLOUD_STORAGE_LOCATION
: o nome de um bucket ou pasta do Cloud Storage em que as mensagens de HL7v2 exportadas são gravadas
Corpo JSON da solicitação:
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } EOF
Depois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"PowerShell
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand ContentOPERATION_ID
. Você vai precisar desse valor na próxima etapa.Use o método
projects.locations.datasets.operations.get
para ver o status da operação de longa duração.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;DATASET_ID
: o ID do conjunto de dados;LOCATION
: o local do conjunto de dados;OPERATION_ID
: o ID retornado da operação de longa duração.
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
execute o seguinte comando:
$cred = gcloud auth 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 ContentAPIs Explorer
Abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, o operação de longa duração foi concluída.
Exportar mensagens HL7v2 pelo campo Message
Na API Cloud Healthcare, as mensagens de HL7v2 são armazenadas em recursos Message
. Você pode usar o MessageView
enum para determinar quais campos do recurso Message
estão incluídos em
por mensagem de HL7v2 exportada.
Os exemplos a seguir mostram como usar o valor BASIC
em MessageView
para incluir apenas o campo name
nas mensagens HL7v2 exportadas.
REST
Usar o
hl7V2Stores.export
para exportar as mensagens de HL7v2:Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;LOCATION
: o local do conjunto de dados;DATASET_ID
: o conjunto de dados pai do armazenamento de HL7v2HL7V2_STORE_ID
: o ID da loja de HL7v2CLOUD_STORAGE_LOCATION
: o nome de um bucket ou pasta do Cloud Storage em que as mensagens de HL7v2 exportadas são gravadas
Corpo JSON da solicitação:
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } EOF
Depois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export"PowerShell
Salve o corpo da solicitação em um arquivo chamado
request.json
. Execute o comando a seguir no terminal para criar ou substituir esse arquivo no diretório atual:@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID:export" | Select-Object -Expand ContentOPERATION_ID
. Você vai precisar desse valor na próxima etapa.Use o método
projects.locations.datasets.operations.get
para ver o status da operação de longa duração.Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_ID
: o ID do seu projeto do Google Cloud;DATASET_ID
: o ID do conjunto de dados;LOCATION
: o local do conjunto de dados;OPERATION_ID
: o ID retornado da operação de longa duração.
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
execute o seguinte comando:
$cred = gcloud auth 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 ContentAPIs Explorer
Abra o página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, o operação de longa duração foi concluída.
Resolver problemas de solicitações de exportação de HL7v2
Se ocorrerem erros durante a exportação de mensagens de HL7v2, os erros serão registrados em Cloud Logging: Para mais informações, consulte Como visualizar registros de erros no Cloud Logging.
Se uma operação de longa duração retornar um erro, consulte Como solucionar problemas em operações de longa duração.