Esta página descreve como exportar mensagens HL7v2 de um armazenamento HL7v2 para o Cloud Storage. Pode exportar em massa mensagens HL7v2 para o Cloud Storage para processamento a jusante.
Antes de começar
Consulte o artigo Exporte mensagens HL7v2 do Cloud Storage para ver as funções que tem de conceder à conta de serviço do agente do Cloud Healthcare Service.
Exporte mensagens de HL7v2 para o Cloud Storage
A Cloud Healthcare API exporta cada mensagem HL7v2 como uma linha num ficheiro NDJSON .ndjson. As mensagens HL7v2 são ordenadas cronologicamente pelo respetivo valor de sendTime.
Exporte para um contentor ou uma pasta do Cloud Storage, em vez de um objeto, porque a Cloud Healthcare API pode criar vários ficheiros NDJSON quando existem muitas mensagens HL7v2.
Se exportar para uma pasta do Cloud Storage que não existe, a pasta é criada.
Consola
Para exportar mensagens HL7v2 para o Cloud Storage, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Conjuntos de dados.
Clique no conjunto de dados que contém o armazenamento de HL7v2 a partir do qual está a exportar mensagens HL7v2.
Na lista de armazenamentos de dados, escolha Exportar na lista Ações para o armazenamento de HL7v2.
É apresentada a página Exportar mensagens HL7v2.
Na lista Projeto, selecione um projeto do Cloud Storage.
Na lista Localização, selecione um contentor do Cloud Storage.
Clique em Exportar para exportar instâncias HL7v2 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.
Exporte mensagens HL7v2 para o Cloud Storage através de filtros
Por predefinição, a exportação de mensagens HL7v2 para o Cloud Storage inclui todas as mensagens HL7v2 num armazenamento HL7v2 e todos os campos em cada objeto Message.
Pode filtrar as mensagens HL7v2 exportadas da seguinte forma:
- Use filtros para exportar um subconjunto de mensagens HL7v2 que correspondem a critérios de filtro. Para mais informações, consulte o artigo Exporte um subconjunto de mensagens HL7v2 através de um filtro.
- Use o objeto
MessageViewpara selecionar os campos em cadaMessagea exportar. Para mais informações, consulte o artigo Exporte mensagens HL7v2 por campoMessage.
Exporte um subconjunto de mensagens HL7v2 através de um filtro
Pode usar os seguintes campos nos critérios de filtro:
Pode especificar os seguintes parâmetros de filtro como critérios de filtro no campo filter. Para saber mais sobre a sintaxe dos filtros e criar consultas, consulte o artigo Strings de consulta.
message_type: do campo MSH.9.1. Por exemplo,NOT message_type = "ADT".send_date: a dataYYYY-MM-DDem que a mensagem foi enviada a partir do segmento MSH.7, especificada no fuso horário do conjunto de dados. Por exemplo,send_date < "2017-01-02".send_time: a data/hora em que a mensagem foi enviada. Este parâmetro é do segmento MSH.7 da mensagem. Este 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: a data/hora em que a mensagem foi criada na Cloud Healthcare API, 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 cuidados de onde a mensagem foi enviada, do segmento MSH.4. Por exemplo,send_facility = "ABC".
Os exemplos seguintes mostram como especificar um filtro para exportar apenas mensagens HL7v2 do tipo ADT.
REST
Use o método
hl7V2Stores.exportpara exportar as mensagens HL7v2:Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID: o ID do seu Google Cloud projetoLOCATION: a localização do conjunto de dadosDATASET_ID: o conjunto de dados principal do armazenamento de HL7v2HL7V2_STORE_ID: o ID do armazenamento de HL7v2CLOUD_STORAGE_LOCATION: o nome de um contentor ou uma pasta do Cloud Storage onde as mensagens HL7v2 exportadas são escritas
Corpo JSON do pedido:
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" }Para enviar o seu pedido, escolha uma destas opções:
O resultado é o seguinte. A resposta contém um identificador para uma operação de longa duração (LRO). As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar mais tempo a serem concluídas. Tenha em atenção o valor decurl
Guarde o corpo do pedido num ficheiro denominado
request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } EOFEm seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION" }, "filter": "message_type = \"ADT\"" } '@ | Out-File -FilePath request.json -Encoding utf8Em seguida, execute o seguinte comando para enviar o seu pedido 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. Precisa deste valor no passo seguinte.Use o método
projects.locations.datasets.operations.getpara obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID: o ID do seu Google Cloud projetoDATASET_ID: o ID do conjunto de dadosLOCATION: a localização do conjunto de dadosOPERATION_ID: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
O resultado é o seguinte. Quando a resposta contémcurl
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 ContentExplorador de APIs
Abra a página de referência do método. O painel do APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true, a operação de longa duração terminou.
Exporte mensagens de HL7v2 por campo Message
Na Cloud Healthcare API, as mensagens HL7v2 são armazenadas em recursos Message. Pode usar a enumeração MessageView para determinar os campos no recurso Message que estão incluídos em cada mensagem HL7v2 exportada.
Os exemplos seguintes mostram como usar o valor BASIC em MessageView para incluir apenas o campo name nas mensagens HL7v2 exportadas.
REST
Use o método
hl7V2Stores.exportpara exportar as mensagens HL7v2:Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID: o ID do seu Google Cloud projetoLOCATION: a localização do conjunto de dadosDATASET_ID: o conjunto de dados principal do armazenamento de HL7v2HL7V2_STORE_ID: o ID do armazenamento de HL7v2CLOUD_STORAGE_LOCATION: o nome de um contentor ou uma pasta do Cloud Storage onde as mensagens HL7v2 exportadas são escritas
Corpo JSON do pedido:
{ "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } }Para enviar o seu pedido, escolha uma destas opções:
O resultado é o seguinte. A resposta contém um identificador para uma operação de longa duração (LRO). As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar mais tempo a serem concluídas. Tenha em atenção o valor decurl
Guarde o corpo do pedido num ficheiro denominado
request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:cat > request.json << 'EOF' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } EOFEm seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "gcsDestination": { "uriPrefix": "gs://CLOUD_STORAGE_LOCATION", "messageView": "BASIC" } } '@ | Out-File -FilePath request.json -Encoding utf8Em seguida, execute o seguinte comando para enviar o seu pedido 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. Precisa deste valor no passo seguinte.Use o método
projects.locations.datasets.operations.getpara obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID: o ID do seu Google Cloud projetoDATASET_ID: o ID do conjunto de dadosLOCATION: a localização do conjunto de dadosOPERATION_ID: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
O resultado é o seguinte. Quando a resposta contémcurl
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 ContentExplorador de APIs
Abra a página de referência do método. O painel do APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true, a operação de longa duração terminou.
Resolva problemas de solicitações de exportação HL7v2
Se ocorrerem erros durante a exportação de mensagens HL7v2, os erros são registados no Cloud Logging. Para mais informações, consulte o artigo Ver registos de erros no Cloud Logging.
Se uma operação de longa duração devolver um erro, consulte o artigo Resolução de problemas de operações de longa duração.