Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
Guia de início rápido: armazenar dados de saúde com curl e PowerShell

Armazene dados de saúde com curl e PowerShell

Nesta página, mostramos como usar a API Cloud Healthcare e o curl ou o Windows PowerShell para concluir as seguintes tarefas:

  1. Criar um conjunto de dados da API Cloud Healthcare;
  2. Criar um dos seguintes armazenamentos de dados no conjunto de dados:
    • Armazenamento de imagens e comunicações digitais em medicina (DICOM, na sigla em inglês)
    • Armazenamento de recursos de interoperabilidade rápida de saúde (FHIR, na sigla em inglês)
    • Armazenamento do Health Level Seven International Version 2 (HL7v2)
  3. Armazenar e inspecionar um tipo específico de dados médicos no armazenamento DICOM, FHIR ou HL7v2.

Se você tem interesse apenas em trabalhar com um tipo de armazenamento de dados, pule diretamente para a respectiva seção do guia de início rápido após concluir as etapas em Antes de começar e Criar um conjunto de dados.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  4. Ative a Cloud Healthcare API.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  7. Ative a Cloud Healthcare API.

    Ative a API

  8. Instale e inicialize a Google Cloud CLI.
  9. Usar o Google Cloud CLI para testar seu ambiente de autenticação. Verifique se o comando a seguir gera uma string de texto sem erros:
    gcloud auth application-default print-access-token

Dica: precisa de um prompt de comando? Use o Google Cloud Shell. O Cloud Shell é um ambiente de linha de comando que já inclui a Google Cloud CLI. Portanto, você não precisa instalá-lo. A Google Cloud CLI também vem pré-instalada em máquinas virtuais do Compute Engine.

Criar um conjunto de dados

Conjuntos de dados contêm armazenamentos de dados com dados de saúde. Para usar a API Cloud Healthcare, você precisa criar pelo menos um conjunto de dados.

Crie um conjunto de dados usando o método datasets.create:

curl

curl -X POST \
    --data "" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets?datasetId=my-dataset"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A resposta é esta. A resposta contém um identificador para uma operação de longa duração. Operações de longa duração são retornadas quando as chamadas de método podem demorar um tempo significativo para serem concluídas.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID",
}

Nesta saída:

  • PROJECT_ID, us-central1, my-dataset: os valores que você forneceu na chamada do método;
  • OPERATION_ID: um identificador para a operação de longa duração fornecida pela API Cloud Healthcare.

Para acompanhar o status da operação, use o método operations.get:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID"

Substitua:

  • PROJECT_ID: o ID do seu projeto do Google Cloud;
  • OPERATION_ID: o ID retornado da operação de longa duração.

A saída é esta. Se a resposta contiver "done": true, a operação será concluída. Caso contrário, a operação ainda está em execução. Aguarde alguns segundos e chame o método operations.get novamente.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.dataset.DatasetService.CreateDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset"
  }
}

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" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets?datasetId=my-dataset" | Select-Object -Expand Content

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A resposta é esta. A resposta contém um identificador para uma operação de longa duração. Operações de longa duração são retornadas quando as chamadas de método podem demorar um tempo significativo para serem concluídas.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID",
}

Nesta saída:

  • PROJECT_ID, us-central1, my-dataset: os valores que você forneceu na chamada do método;
  • OPERATION_ID: um identificador para a operação de longa duração fornecida pela API Cloud Healthcare.

Para acompanhar o status da operação, use o método operations.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/us-central1/datasets/my-dataset/operations/OPERATION_ID" | Select-Object -Expand Content

Substitua:

  • PROJECT_ID: o ID do seu projeto do Google Cloud;
  • OPERATION_ID: o ID retornado da operação de longa duração.

A saída é esta. Se a resposta contiver "done": true, a operação será concluída. Caso contrário, a operação ainda está em execução. Aguarde alguns segundos e chame o método operations.get novamente.

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.dataset.DatasetService.CreateDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset"
  }
}

Para concluir este guia de início rápido, escolha uma das seguintes seções:

Armazenar e visualizar uma instância DICOM

Neste documento, mostramos como concluir as seguintes tarefas:

  1. Crie um armazenamento DICOM.
  2. Armazenar uma instância DICOM no armazenamento DICOM.
  3. Visualizar os metadados da instância DICOM.

A API Cloud Healthcare implementa o padrão DICOMweb para armazenar e acessar dados de diagnóstico médico por imagem.

Criar um armazenamento DICOM

Os armazenamentos DICOM existem nos conjuntos de dados e armazenam instâncias DICOM. Crie um armazenamento DICOM usando o método dicomStores.create:

curl

curl -X POST \
    --data "" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store"
}

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" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores?dicomStoreId=my-dicom-store" | Select-Object -Expand Content

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store"
}

Armazenar uma instância DICOM

  1. Faça o download do arquivo de instância do DICOM de amostra na sua máquina. O arquivo contém um raio X do paciente desidentificado.

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/dicom_00000001_000.dcm" -OutFile $pwd/dicom_00000001_000.dcm
    
  2. Armazene a instância DICOM usando o método dicomStores.storeInstances. Neste guia de início rápido, consideramos que você esteja executando o comando no mesmo diretório em que você fez o download da instância DICOM.

    curl

    curl -X POST \
        -H "Content-Type: application/dicom" \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        --data-binary @dicom_00000001_000.dcm \
        https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída no formato XML é esta:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604</Value>
      </DicomAttribute>
      <DicomAttribute tag="00081199" vr="SQ" keyword="ReferencedSOPSequence">
        <Item number="1">
          <DicomAttribute tag="00081150" vr="UI" keyword="ReferencedSOPClassUID">
            <Value number="1">1.2.840.10008.5.1.4.1.1.7</Value>
          </DicomAttribute>
          <DicomAttribute tag="00081155" vr="UI" keyword="ReferencedSOPInstanceUID">
            <Value number="1">1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value>
          </DicomAttribute>
          <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
            <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604/series/1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724/instances/1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value>
          </DicomAttribute>
        </Item>
      </DicomAttribute>
    </NativeDicomModel>
    

    PowerShell

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/dicom" `
      -InFile dicom_00000001_000.dcm `
      -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies" | Select-Object -Expand Content
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída no formato XML é esta:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604</Value>
      </DicomAttribute>
      <DicomAttribute tag="00081199" vr="SQ" keyword="ReferencedSOPSequence">
        <Item number="1">
          <DicomAttribute tag="00081150" vr="UI" keyword="ReferencedSOPClassUID">
            <Value number="1">1.2.840.10008.5.1.4.1.1.7</Value>
          </DicomAttribute>
          <DicomAttribute tag="00081155" vr="UI" keyword="ReferencedSOPInstanceUID">
            <Value number="1">1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value>
          </DicomAttribute>
          <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
            <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604/series/1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724/instances/1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480</Value>
          </DicomAttribute>
        </Item>
      </DicomAttribute>
    </NativeDicomModel>
    

Ver metadados da instância DICOM

Use o método dicomStores.searchForInstances para ver os metadados da instância:

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

[
  {
    "00080016": {
      "vr": "UI",
      "Value": [
        "1.2.840.10008.5.1.4.1.1.7"
      ]
    },
    "00080018": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480"
      ]
    },
    "00080060": {
      "vr": "CS",
      "Value": [
        "DX"
      ]
    },
    "00100020": {
      "vr": "LO",
      "Value": [
        "1"
      ]
    },
    "00100040": {
      "vr": "CS",
      "Value": [
        "M"
      ]
    },
    "0020000D": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604"
      ]
    },
    "0020000E": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724"
      ]
    },
    "00280010": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280011": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280100": {
      "vr": "US",
      "Value": [
        8
      ]
    }
  }
]

PowerShell

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-RestMethod `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb/instances"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

[
  {
    "00080016": {
      "vr": "UI",
      "Value": [
        "1.2.840.10008.5.1.4.1.1.7"
      ]
    },
    "00080018": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480"
      ]
    },
    "00080060": {
      "vr": "CS",
      "Value": [
        "DX"
      ]
    },
    "00100020": {
      "vr": "LO",
      "Value": [
        "1"
      ]
    },
    "00100040": {
      "vr": "CS",
      "Value": [
        "M"
      ]
    },
    "0020000D": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604"
      ]
    },
    "0020000E": {
      "vr": "UI",
      "Value": [
        "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724"
      ]
    },
    "00280010": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280011": {
      "vr": "US",
      "Value": [
        1024
      ]
    },
    "00280100": {
      "vr": "US",
      "Value": [
        8
      ]
    }
  }
]

Agora que você armazenou e visualizou uma instância DICOM na API Cloud Healthcare, continue até Limpar para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para saber mais informações sobre como trabalhar com dados DICOM, consulte A seguir.

Armazenar e visualizar recursos FHIR

Neste documento, mostramos como concluir as seguintes tarefas:

  1. Crie um armazenamento de FHIR.
  2. Armazene um recurso FHIR no armazenamento FHIR.
  3. Visualize os dados do recurso FHIR.

A API Cloud Healthcare implementa o padrão da especificação FHIR para armazenar e acessar dados FHIR.

Criar um armazenamento FHIR

Os armazenamentos de FHIR existem nos conjuntos de dados e armazenam dados FHIR. Crie um armazenamento FHIR usando o método fhirStores.create:

curl

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'version': 'R4'
    }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store",
  "version": "R4"
}

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 "{
      'version': 'R4'
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores?fhirStoreId=my-fhir-store" | Select-Object -Expand Content

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store",
  "version": "R4"
}

Armazenar um recurso FHIR

  1. Faça o download do arquivo de recursos FHIR de amostra JSON. O arquivo contém dados básicos de um recurso de paciente.

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/Patient.json
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/Patient.json" -OutFile $pwd/Patient.json
    
  2. Armazene o recurso do paciente usando o método fhir.create. Neste guia de início rápido, consideramos que você esteja executando o comando no mesmo diretório em que fez o download do recurso do paciente.

    curl

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/fhir+json; charset=utf-8" \
        --data @Patient.json \
        "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient"
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída é esta:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "LAST_UPDATED",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
    }
    

    PowerShell

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/dicom" `
      -InFile Patient.json `
      -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient" | Select-Object -Expand Content
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída é esta:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "LAST_UPDATED",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
    }
    

Ver o conteúdo do recurso FHIR

Veja as informações sobre o recurso do paciente usando o método fhir.search. Os exemplos a seguir mostram como pesquisar todos os recursos de pacientes que tenham sobrenome "Smith".

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient?family:exact=Smith"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

O servidor retorna a resposta como um FHIR Bundle no formato JSON. O Bundle.type é searchset, e os resultados da pesquisa são entradas na matriz Bundle.entry. Neste exemplo, a solicitação retorna um único recurso Paciente, incluindo os dados dentro do recurso:

{
  "entry": [
    {
      "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/PATIENT_ID",
      "resource": {
        "birthDate": "1970-01-01",
        "gender": "female",
        "id": "PATIENT_ID",
        "meta": {
          "lastUpdated": "LAST_UPDATED",
          "versionId": "VERSION_ID"
        },
        "name": [
          {
            "family": "Smith",
            "given": [
              "Darcy"
            ],
            "use": "official"
          }
        ],
        "resourceType": "Patient"
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": [
    {
      "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?family%3Aexact=Smith"
    }
  ],
  "resourceType": "Bundle",
  "total": 1,
  "type": "searchset"
}

PowerShell

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-RestMethod `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/RESOURCE_TYPE?family:exact=Smith" | ConvertTo-Json

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

O servidor retorna a resposta como um FHIR Bundle no formato JSON. O Bundle.type é searchset, e os resultados da pesquisa são entradas na matriz Bundle.entry. Neste exemplo, a solicitação retorna um único recurso Paciente, incluindo os dados dentro do recurso:

{
  "entry": [
    {
      "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/PATIENT_ID",
      "resource": {
        "birthDate": "1970-01-01",
        "gender": "female",
        "id": "PATIENT_ID",
        "meta": {
          "lastUpdated": "LAST_UPDATED",
          "versionId": "VERSION_ID"
        },
        "name": [
          {
            "family": "Smith",
            "given": [
              "Darcy"
            ],
            "use": "official"
          }
        ],
        "resourceType": "Patient"
      },
      "search": {
        "mode": "match"
      }
    }
  ],
  "link": [
    {
      "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store/fhir/Patient/?family%3Aexact=Smith"
    }
  ],
  "resourceType": "Bundle",
  "total": 1,
  "type": "searchset"
}

Agora que você armazenou e visualizou um recurso FHIR na API Cloud Healthcare, continue em Limpar para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para mais informações sobre como trabalhar com dados FHIR, consulte A seguir.

Armazenar e visualizar uma mensagem HL7v2

Neste documento, mostramos como concluir as seguintes tarefas:

  1. Criar uma loja HL7v2.
  2. Armazenar uma mensagem HL7v2 no armazenamento HL7v2.
  3. Visualizar os dados da mensagem HL7v2.

A implementação do HL7v2 na API Cloud Healthcare está alinhada com o padrão HL7v2.

Criar um armazenamento HL7v2

Os armazenamentos HL7v2 existem nos conjuntos de dados e armazenam dados HL7v2. Crie um armazenamento HL7v2 usando o método hl7V2Stores.create:

curl

curl -X POST \
    --data "" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store"
}

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" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores?hl7V2StoreId=my-hl7v2-store" | Select-Object -Expand Content

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store"
}

Criar uma mensagem HL7v2

  1. Faça o download do arquivo de mensagens HL7v2 de amostra na sua máquina:

    curl

    curl -O https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json
    

    PowerShell

    Invoke-WebRequest -Uri "https://cloud.google.com/healthcare-api/docs/resources/hl7v2-sample.json" -OutFile $pwd/hl7v2-sample.json
    

    A mensagem HL7v2 contém as seguintes informações básicas, em que está codificada em base-64 no campo data do arquivo de amostra:

    MSH|^~\&|A|SEND_FACILITY|A|A|20180101000000||TYPE^A|20180101000000|T|0.0|||AA||00|ASCII
    EVN|A00|20180101040000
    PID||14^111^^^^MRN|11111111^^^^MRN~1111111111^^^^ORGNMBR
    
  2. Armazenar a mensagem HL7v2 usando o método messages.create. Neste guia de início rápido, presume-se que você esteja executando o comando no mesmo diretório em que fez o download do arquivo de mensagens HL7v2.

    curl

    curl -X POST \
         -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
         -H "Content-Type: application/json; charset=utf-8" \
         --data-binary @hl7v2-sample.json \
         "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages"
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída é esta:

    {
      "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID",
      "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
      "sendFacility": "SEND_FACILITY",
      "sendTime": "2018-01-01T00:00:00Z",
      "messageType": "TYPE",
      "createTime": "CREATE_TIME",
      "patientIds": [
        {
          "value": "14\u0001111",
          "type": "MRN"
        },
        {
          "value": "11111111",
          "type": "MRN"
        },
        {
          "value": "1111111111",
          "type": "ORGNMBR"
        }
      ]
    }
    

    Nesta saída:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: os valores que você forneceu na chamada de método;
    • MESSAGE_ID: um identificador para a mensagem HL7v2 fornecida pela API Cloud Healthcare;
    • CREATE_TIME: um carimbo de data/hora para quando a mensagem foi enviada para a API Cloud Healthcare.

    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" `
      -InFile hl7v2-sample.json `
      -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages" | Select-Object -Expand Content
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

    A saída é esta:

    {
      "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID",
      "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
      "sendFacility": "SEND_FACILITY",
      "sendTime": "2018-01-01T00:00:00Z",
      "messageType": "TYPE",
      "createTime": "CREATE_TIME",
      "patientIds": [
        {
          "value": "14\u0001111",
          "type": "MRN"
        },
        {
          "value": "11111111",
          "type": "MRN"
        },
        {
          "value": "1111111111",
          "type": "ORGNMBR"
        }
      ]
    }
    

    Nesta saída:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: os valores que você forneceu na chamada de método;
    • MESSAGE_ID: um identificador para a mensagem HL7v2 fornecida pela API Cloud Healthcare;
    • CREATE_TIME: um carimbo de data/hora para quando a mensagem foi enviada para a API Cloud Healthcare.

Ver o conteúdo da mensagem HL7v2

Observe o MESSAGE_ID na resposta que você recebeu quando criou a mensagem HL7v2. Veja os detalhes da mensagem HL7v2 usando o método messages.get.

curl

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID"

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar;
  • MESSAGE_ID: o ID da mensagem que você recebeu quando ingeriu ou criou a mensagem HL7v2.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID",
  "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
  "sendFacility": "SEND_FACILITY",
  "sendTime": "2018-01-01T00:00:00Z",
  "messageType": "TYPE",
  "createTime": "CREATE_TIME",
  "patientIds": [
    {
      "value": "14\u0001111",
      "type": "MRN"
    },
    {
      "value": "11111111",
      "type": "MRN"
    },
    {
      "value": "1111111111",
      "type": "ORGNMBR"
    }
  ],
  "parsedData": {
    "segments": [
      {
        "segmentId": "MSH",
        "fields": {
          "5": "A",
          "8.1": "TYPE",
          "6": "20180101000000",
          "8.2": "A",
          "3": "SEND_FACILITY",
          "4": "A",
          "11": "0.0",
          "10": "T",
          "1": "^~\\&",
          "17": "ASCII",
          "2": "A",
          "0": "MSH",
          "14": "AA",
          "9": "20180101000000",
          "16": "00"
        }
      },
      {
        "segmentId": "EVN",
        "fields": {
          "2": "20180101040000",
          "0": "EVN",
          "1": "A00"
        }
      },
      {
        "segmentId": "PID",
        "fields": {
          "3[0].5": "MRN",
          "3[1].1": "1111111111",
          "3[1].5": "ORGNMBR",
          "0": "PID",
          "2.1": "14\u0001111",
          "2.5": "MRN",
          "3[0].1": "11111111"
        }
      }
    ]
  }
}

PowerShell

$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/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID" | Select-Object -Expand Content

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar;
  • MESSAGE_ID: o ID da mensagem que você recebeu quando ingeriu ou criou a mensagem HL7v2.

A saída é esta:

{
  "name": "projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store/messages/MESSAGE_ID",
  "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=",
  "sendFacility": "SEND_FACILITY",
  "sendTime": "2018-01-01T00:00:00Z",
  "messageType": "TYPE",
  "createTime": "CREATE_TIME",
  "patientIds": [
    {
      "value": "14\u0001111",
      "type": "MRN"
    },
    {
      "value": "11111111",
      "type": "MRN"
    },
    {
      "value": "1111111111",
      "type": "ORGNMBR"
    }
  ],
  "parsedData": {
    "segments": [
      {
        "segmentId": "MSH",
        "fields": {
          "5": "A",
          "8.1": "TYPE",
          "6": "20180101000000",
          "8.2": "A",
          "3": "SEND_FACILITY",
          "4": "A",
          "11": "0.0",
          "10": "T",
          "1": "^~\\&",
          "17": "ASCII",
          "2": "A",
          "0": "MSH",
          "14": "AA",
          "9": "20180101000000",
          "16": "00"
        }
      },
      {
        "segmentId": "EVN",
        "fields": {
          "2": "20180101040000",
          "0": "EVN",
          "1": "A00"
        }
      },
      {
        "segmentId": "PID",
        "fields": {
          "3[0].5": "MRN",
          "3[1].1": "1111111111",
          "3[1].5": "ORGNMBR",
          "0": "PID",
          "2.1": "14\u0001111",
          "2.5": "MRN",
          "3[0].1": "11111111"
        }
      }
    ]
  }
}

Agora que você armazenou e visualizou uma mensagem HL7v2 na API Cloud Healthcare, continue em Limpar para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para mais informações sobre como trabalhar com dados HL7v2, consulte A seguir.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

Se você criou um novo projeto para este guia de início rápido, siga as etapas em Excluir o projeto. Caso contrário, siga as etapas em Excluir o conjunto de dados.

Excluir o projeto

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Excluir o conjunto de dados

Se você não precisar mais do conjunto de dados criado neste guia de início rápido, poderá excluí-lo. Excluir um conjunto de dados exclui permanentemente o conjunto de dados e todos os armazenamentos FHIR, HL7v2 ou DICOM que ele contém.

curl

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset"

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{}

PowerShell

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Delete `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset" | Select-Object -Expand Content

Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou ou selecionou em Antes de começar.

A saída é esta:

{}

Como foi?

A seguir

Consulte as seções a seguir para informações gerais sobre a API Cloud Healthcare e como executar tarefas usando o Console do Google Cloud e a Google Cloud CLI:

DICOM

Prossiga para o guia sobre DICOM para ler tópicos como os seguintes:

Consulte a instrução de conformidade DICOM para ver informações sobre como a API Cloud Healthcare implementa o padrão DICOMweb.

FHIR

Prossiga para o guia sobre FHIR para ler tópicos como estes:

Consulte a Declaração de conformidade FHIR para ver informações sobre como a API Cloud Healthcare implementa o padrão FHIR.

HL7v2

Veja o guia sobre HL7v2 para ler tópicos como os seguintes: