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
MessageView
para selecionar os campos em cadaMessage
a exportar. Para mais informações, consulte o artigo Exporte mensagens HL7v2 pelo 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
: aYYYY-MM-DD
data em 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, a partir 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.export
para 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:
curl
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\"" } EOF
Em 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 utf8
Em 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.get
para 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:
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 ContentExplorador de APIs
Abra a página de referência do método. O painel 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.export
para 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:
curl
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" } } EOF
Em 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 utf8
Em 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.get
para 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:
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 ContentExplorador de APIs
Abra a página de referência do método. O painel 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 pedidos 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 nos Registos na nuvem.
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.