Exporte mensagens de HL7v2 para o Cloud Storage

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:

  1. Na Google Cloud consola, aceda à página Conjuntos de dados.

    Aceda aos conjuntos de dados

  2. Clique no conjunto de dados que contém o armazenamento de HL7v2 a partir do qual está a exportar mensagens HL7v2.

  3. Na lista de armazenamentos de dados, escolha Exportar na lista Ações para o armazenamento de HL7v2.

    É apresentada a página Exportar mensagens HL7v2.

  4. Na lista Projeto, selecione um projeto do Cloud Storage.

  5. Na lista Localização, selecione um contentor do Cloud Storage.

  6. Clique em Exportar para exportar instâncias HL7v2 para a localização definida no Cloud Storage.

  7. 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.
    Se encontrar erros, clique em Ações e, de seguida, em Ver detalhes no Cloud Logging.

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:

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 YYYY-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

  1. 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 projeto
    • LOCATION: a localização do conjunto de dados
    • DATASET_ID: o conjunto de dados principal do armazenamento de HL7v2
    • HL7V2_STORE_ID: o ID do armazenamento de HL7v2
    • CLOUD_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 Content
    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. Repare no valor de OPERATION_ID. Precisa deste valor no passo seguinte.

  2. 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 projeto
    • DATASET_ID: o ID do conjunto de dados
    • LOCATION: a localização do conjunto de dados
    • OPERATION_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 Content

    Explorador 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.

    O resultado é o seguinte. Quando a resposta contém "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

  1. 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 projeto
    • LOCATION: a localização do conjunto de dados
    • DATASET_ID: o conjunto de dados principal do armazenamento de HL7v2
    • HL7V2_STORE_ID: o ID do armazenamento de HL7v2
    • CLOUD_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 Content
    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. Repare no valor de OPERATION_ID. Precisa deste valor no passo seguinte.

  2. 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 projeto
    • DATASET_ID: o ID do conjunto de dados
    • LOCATION: a localização do conjunto de dados
    • OPERATION_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 Content

    Explorador 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.

    O resultado é o seguinte. Quando a resposta contém "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.