Esta página se ha traducido con Cloud Translation API.
Switch to English

Guía de inicio rápido para curl o Windows PowerShell

En esta página, se muestra cómo usar la API de Cloud Healthcare con curl y Windows PowerShell para completar las siguientes tareas:

  1. Crear un conjunto de datos de la API de Cloud Healthcare
  2. Crear un almacén de DICOM, FHIR o HL7v2 dentro del conjunto de datos
  3. Almacena y, luego, inspecciona un tipo particular de datos médicos en el almacén de DICOM, FHIR o HL7v2.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir a la página del selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Cloud Healthcare API.

    Habilita la API

  5. Instala e inicializa el SDK de Cloud.
  6. Usa la herramienta de línea de comandos de gcloud para probar el entorno de autenticación. Verifica que el siguiente resultado del comando muestre una string de texto sin errores:
    gcloud auth application-default print-access-token

Sugerencia: ¿Necesitas un símbolo del sistema? Puedes usar Google Cloud Shell. Es un entorno de línea de comandos que incluye el SDK de Google Cloud, por lo que no es necesario que lo instales. El SDK de Google Cloud también viene preinstalado en las máquinas virtuales de Google Compute Engine.

Crear un conjunto de datos

Los conjuntos de datos son los contenedores básicos que contienen los datos de atención médica en Google Cloud. Para usar la API de Cloud Healthcare, debes crear al menos un conjunto de datos.

curl

Para crear un conjunto de datos, realiza una solicitud POST y proporciona un nombre y una ubicación para el conjunto de datos. En el siguiente ejemplo, se muestra una solicitud POST mediante curl.

Cuando configures la variable LOCATION, usa us-central1, us-west2, us-east4, europe-west2, europe-west4, europe-west6, northamerica-northeast1. , southamerica-east1, asia-east2, asia-northeast1, asia-southeast1, australia-southeast1 o us.

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/LOCATION/datasets?datasetId=DATASET_ID"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
}

La respuesta contiene un nombre de operación. Para realizar un seguimiento del estado de la operación, puedes usar el método get de la operación:

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

Si la solicitud es exitosa, el servidor mostrará una respuesta con el estado de la operación en formato JSON: Puedes saber que la operación finalizó cuando la respuesta contiene "done": true.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/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/viewer/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
  }
}

PowerShell

Para crear un conjunto de datos, realiza una solicitud POST y proporciona un nombre y una ubicación para el conjunto de datos. En el siguiente ejemplo, se muestra una solicitud POST con Windows PowerShell.

Cuando configures la variable LOCATION, usa us-central1, us-west2, us-east4, europe-west2, europe-west4, europe-west6, northamerica-northeast1. , southamerica-east1, asia-east2, asia-northeast1, asia-southeast1, australia-southeast1 o us.

$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/LOCATION/datasets?datasetId=DATASET_ID" | Select-Object -Expand Content

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
}

La respuesta contiene un nombre de operación. Para realizar un seguimiento del estado de la operación, puedes usar el método get de la operación:

$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/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

Si la solicitud es exitosa, el servidor mostrará una respuesta con el estado de la operación en formato JSON: Puedes saber que la operación finalizó cuando la respuesta contiene "done": true.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/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/viewer/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
  }
}

Almacena y visualiza datos de DICOM, FHIR y HL7v2

Para completar esta guía de inicio rápido, elige una de las siguientes secciones:

Almacena y visualiza instancias de DICOM

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea un almacén de DICOM.
  2. Almacenar una instancia de DICOM en el almacén DICOM
  3. Ver los metadatos de la instancia de DICOM

La API de Cloud Healthcare implementa el estándar DICOMweb para almacenar datos de imagen médica y acceder a ellos.

  1. Los almacenes DICOM existen dentro de conjuntos de datos y contienen instancias de DICOM. Puedes crear un almacén de DICOM con el método projects.locations.datasets.dicomStores.create.

    curl

    Para crear un almacén de DICOM, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Un nombre para el almacén de DICOM. El ID del almacén de DICOM debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.

    En el siguiente ejemplo, se muestra una solicitud POST mediante 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/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID"
    

    Si la solicitud tiene éxito, se mostrará la siguiente respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
    }
    

    PowerShell

    Para crear un almacén de DICOM, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Un nombre para el almacén de DICOM. El ID del almacén de DICOM debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.

    En el siguiente ejemplo, se muestra una solicitud POST mediante Windows 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/LOCATION/datasets/DATASET_ID/dicomStores?dicomStoreId=DICOM_STORE_ID" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID"
    }
    

  2. Descarga el archivo de instancia de DICOM de muestra en tu máquina. El archivo contiene un rayos X desidentificado.

  3. Ejecute el siguiente comando para almacenar la instancia de DICOM en el almacén de DICOM que creó:

    curl

    Para almacenar la instancia de DICOM, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de DICOM
    • El nombre y la ubicación del archivo de la instancia de DICOM en tu máquina

    En el siguiente ejemplo, se muestra una solicitud POST mediante 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/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta en formato XML:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/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/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/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

    Para almacenar la instancia de DICOM, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de DICOM
    • El nombre y la ubicación del archivo de la instancia de DICOM en tu máquina

    En el siguiente ejemplo, se muestra una solicitud POST mediante Windows 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/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta en formato XML:

    <NativeDicomModel>
      <DicomAttribute tag="00081190" vr="UR" keyword="RetrieveURL">
        <Value number="1">https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/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/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/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>
    

  4. Busca instancias en el almacén de DICOM para ver los metadatos de la instancia que almacenaste:

    curl

    Para ver los metadatos de la instancia de DICOM que almacenaste, haz una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de DICOM

    En el siguiente ejemplo, se muestra una solicitud GET con curl para buscar instancias en el almacén de DICOM:

    curl -X GET \
         -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
         "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/instances"
    

    Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

    [
      {
        "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

    Para ver los metadatos de la instancia de DICOM que almacenaste, haz una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de DICOM

    En el siguiente ejemplo, se muestra una solicitud GET con Windows PowerShell para buscar instancias en el almacén de DICOM:

    $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/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/instances"
    

    Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

    [
      {
        "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
          ]
        }
      }
    ]
    

Ahora que ya almacenaste y visualizaste una instancia de DICOM en la API de Cloud Healthcare, ve a Próximos pasos para obtener información sobre los próximos pasos.

Almacena y visualiza recursos de FHIR

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea un almacén de FHIR.
  2. Almacena un recurso de FHIR en el almacén de FHIR.
  3. Ver los datos del recurso FHIR.

La API de Cloud Healthcare implementa el estándar de la especificación FHIR para almacenar datos FHIR y acceder a ellos.

  1. Los almacenes de FHIR existen dentro de conjuntos de datos y contienen recursos de FHIR. Puedes crear un almacén de FHIR con el método projects.locations.datasets.fhirStores.create:

    curl

    Para crear un almacén de FHIR, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Un nombre para la tienda de FHIR. El ID del almacén de FHIR debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.
    • La versión de FHIR del almacén de FHIR. Las opciones disponibles son DSTU2, STU3 o R4. Para esta guía de inicio rápido, usa R4.

    En el siguiente ejemplo, se muestra una solicitud POST mediante 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/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID"
    

    Si la solicitud tiene éxito, se mostrará la siguiente respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "version": "R4"
    }
    

    PowerShell

    Para crear un almacén de FHIR, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Un nombre para la tienda de FHIR. El ID del almacén de FHIR debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.
    • La versión de FHIR del almacén de FHIR: DSTU2, STU3 o R4

    En el siguiente ejemplo, se muestra una solicitud POST mediante Windows 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/LOCATION/datasets/DATASET_ID/fhirStores?fhirStoreId=FHIR_STORE_ID" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "version": "R4"
    }
    

  2. Guarda el archivo de recursos JSON de muestra de FHIR. El archivo contiene datos básicos para un recurso del paciente.

  3. Ejecuta el siguiente comando para almacenar el recurso del paciente en el almacén de FHIR que creaste:

    curl

    Para crear el recurso del paciente a partir del archivo de muestra, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén FHIR
    • El nombre de archivo y la ubicación del archivo de recursos de FHIR en tu máquina

    En el siguiente ejemplo, se muestra cómo enviar una solicitud POST con curl para crear el recurso del paciente:

    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/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta:

    {
      "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

    Para crear el recurso del paciente a partir del archivo de muestra, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén FHIR
    • El nombre de archivo y la ubicación del archivo de recursos de FHIR en tu máquina

    En el siguiente ejemplo, se muestra cómo enviar una solicitud POST con Windows PowerShell para crear el recurso del paciente:

    $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/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta:

    {
      "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"
    }
    

  4. Busca el recurso en tu almacén de FHIR para ver información sobre el paciente:

    curl

    Para buscar el recurso del paciente y ver sus detalles, realiza una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén FHIR
    • Una cadena de consulta que contenga la información que estás buscando. En esta muestra, buscarás el apellido del paciente.

    En el siguiente ejemplo, se muestra una solicitud GET mediante curl para buscar todos los pacientes con el apellido "Smith".

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

    Si la solicitud es exitosa, el servidor mostrará la respuesta como un Bundle de FHIR en formato JSON. Bundle.type es searchset y los resultados de la búsqueda son entradas en el arreglo Bundle.entry. En este ejemplo, la solicitud muestra un solo recurso Patient que incluye los datos dentro de ese recurso:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/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/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }
    

    PowerShell

    Para buscar el recurso del paciente y ver sus detalles, realiza una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén FHIR
    • Una cadena de consulta que contenga la información que estás buscando. En esta muestra, buscarás el apellido del paciente.

    En el siguiente ejemplo, se muestra una solicitud GET mediante Windows PowerShell para buscar todos los pacientes con el apellido "Smith".

    $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/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE?family:exact=Smith" | ConvertTo-Json
    

    Si la solicitud es exitosa, el servidor mostrará la respuesta como un Bundle de FHIR en formato JSON. Bundle.type es searchset y los resultados de la búsqueda son entradas en el arreglo Bundle.entry. En este ejemplo, la solicitud muestra un solo recurso Patient que incluye los datos dentro de ese recurso:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/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/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }
    

Ahora que ya almacenaste y visualizaste un recurso de FHIR en la API de Cloud Healthcare, ve a Próximos pasos para obtener información sobre los próximos pasos.

Almacenamiento y visualización de mensajes HL7v2

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea una tienda de HL7v2
  2. Almacena un mensaje HL7v2 en el almacén de HL7v2.
  3. Ver los datos del mensaje de HL7v2.

La implementación de HL7v2 en la API de Cloud Healthcare se alinea con el estándar HL7v2.

  1. Los almacenes HL7v2 existen dentro de conjuntos de datos y contienen mensajes HL7v2. Puedes crear un almacén de HL7v2 con el método projects.locations.datasets.hl7V2Stores.create.

    curl

    Para borrar un almacén HL7v2, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Es un nombre para el almacén HL7v2. El ID de almacén de HL7v2 debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.

    En el siguiente ejemplo, se muestra una solicitud POST mediante 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/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
    

    Si la solicitud tiene éxito, se mostrará la siguiente respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
    }
    

    PowerShell

    Para borrar un almacén HL7v2, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • Es un nombre para el almacén HL7v2. El ID de almacén de HL7v2 debe ser único en su conjunto de datos superior. Puede ser cualquier string Unicode de 1 a 256 caracteres que conste de números, letras, guiones bajos, guiones y puntos.

    En el siguiente ejemplo, se muestra una solicitud POST mediante Windows 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/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
    }
    

  2. Descarga el archivo de mensaje de HL7v2 de muestra en tu máquina. El mensaje contiene la siguiente información básica, en la que se codifica en el formato base64 en el campo data del archivo de muestra:

    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
    
  3. Hay dos métodos para almacenar un mensaje HL7v2: creación y transferencia. Consulta Descripción general para crear y transferir mensajes HL7v2 para obtener más información. En esta muestra, almacenas el mensaje de HL7v2 con el método de creación, ya que el método de transferencia suele consumir un mensaje de HL7v2 que proviene de un centro de atención.

    Ejecuta el siguiente comando para almacenar el mensaje de HL7v2 en el almacén de HL7v2 que creaste:

    curl

    Para almacenar el mensaje HL7v2, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de HL7v2
    • El nombre y la ubicación del archivo de mensajes de HL7v2 en tu máquina

    En el siguiente ejemplo, se muestra una solicitud POST mediante 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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages"
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta en formato JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/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"
        }
      ]
    }
    

    PowerShell

    Para almacenar el mensaje HL7v2, realiza una solicitud POST y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de HL7v2
    • El nombre y la ubicación del archivo de mensajes de HL7v2 en tu máquina

    En el siguiente ejemplo, se muestra una solicitud POST mediante Windows 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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, en el servidor se mostrará la siguiente respuesta en formato JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/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"
        }
      ]
    }
    

  4. Con el MESSAGE_ID de la respuesta que recibiste cuando creaste el mensaje, ejecuta el siguiente comando para ver los detalles del mensaje:

    curl

    Para obtener el contenido del mensaje de HL7v2, realiza una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de HL7v2
    • El ID del mensaje

    En el siguiente ejemplo, se muestra una solicitud GET mediante curl:

    curl -X GET \
         -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
         "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
    

    Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/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

    Para obtener el contenido del mensaje de HL7v2, realiza una solicitud GET y especifica la siguiente información:

    • El nombre y la ubicación del conjunto de datos superior
    • El nombre del almacén de HL7v2
    • El ID del mensaje

    En el siguiente ejemplo, se muestra una solicitud GET mediante Windows 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/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" | Select-Object -Expand Content
    

    Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/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"
            }
          }
        ]
      }
    }
    

Ahora que almacenaste y viste un mensaje de HL7v2 en la API de Cloud Healthcare, continúa con Próximos pasos para obtener información sobre los próximos pasos.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos utilizados en este instructivo, puedes limpiar los recursos que creaste en Google Cloud. Si creaste un proyecto nuevo para este instructivo, sigue los pasos en Borra el proyecto. De lo contrario, sigue los pasos en Borra el conjunto de datos.

Borra el proyecto

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra el conjunto de datos

Si ya no necesitas el conjunto de datos que creaste en esta guía de inicio rápido, puedes borrarlo. Si borras un conjunto de datos, se borrará de forma permanente, junto con todas los almacenes de FHIR, HL7v2 o DICOM que contenga.

curl

Para borrar un conjunto de datos, haz una solicitud DELETE y proporciona el nombre y la ubicación. En el siguiente ejemplo, se muestra una solicitud DELETE con curl:

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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

{}

PowerShell

Para borrar un conjunto de datos, realiza una solicitud DELETE y proporciona el nombre y la ubicación del conjunto de datos. En el siguiente ejemplo, se muestra una solicitud DELETE con Windows 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/LOCATION/datasets/DATASET_ID" | Select-Object -Expand Content

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

{}

¿Cómo fue?

¿Qué sigue?

Consulta las secciones siguientes para obtener información general sobre la API de Cloud Healthcare y cómo realizar tareas con Cloud Console y la herramienta de línea de comandos de gcloud:

DICOM

Continúa con la guía de DICOM para revisar temas como los siguientes:

Consulta la declaración de conformidad de DICOM para obtener información sobre cómo la API de Cloud Healthcare implementa el estándar DICOMweb.

FHIR

Continúa con la guía de FHIR para revisar temas como los siguientes:

Consulta la declaración de conformidad de FHIR para obtener información sobre cómo la API de Cloud Healthcare implementa el estándar FHIR.

HL7v2

Continúa con la guía de HL7v2 para revisar temas como los siguientes: