Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Habilitar perfiles de FHIR

En esta página, se explica cómo importar y habilitar las guías de implementación y los perfiles de FHIR en almacenes de FHIR.

Descripción general

Los perfiles de FHIR son un conjunto de reglas adicionales definidas sobre la especificación base FHIR que controlan la forma en que los diferentes sistemas de atención médica procesan los recursos. Los perfiles de FHIR se pueden importar y habilitar en un almacén de FHIR a fin de garantizar que todos los recursos en un almacén de FHIR cumplan con criterios específicos de la información y la estructura de recursos capturados.

Puedes importar perfiles de FHIR para tu almacén de FHIR mediante la inserción de una o más definiciones de estructura agrupadas en una o más guías de implementación. Una definición de estructura define las restricciones de un campo en un recurso de FHIR. Las definiciones de estructura también hacen referencia a conjuntos de valores que vinculan sistemas de códigos y recursos de FHIR. La guía de implementación te permite usar estas definiciones de estructura para validar recursos a fin de que coincidan con el caso de uso de tu software de terceros.

Por ejemplo, es posible que el software de terceros deba cumplir con la interoperabilidad de Centros de Servicios y Medipe Services (CMS) y la regla final de acceso para los pacientes en EE.UU., ya que proporciona una API de acceso para pacientes que cumpla con los 101}Perfiles de CARIN. Puedes importar y habilitar la guía de implementación de CARIN en tu almacén de FHIR para validar los recursos con los perfiles de CARIN. En las secciones posteriores de esta página, se describen la importación y la habilitación de las guías de implementación.

Después de importar la guía de implementación, puedes habilitarla en tu almacén de FHIR para la validación de recursos. Cuando un recurso se actualiza o se agrega al almacén, se verifica si coincide con una definición de estructura de la guía de implementación. Si existe, el recurso se agregará a la tienda. Si el recurso no cumple con las definiciones de estructura en la guía de implementación, se muestra un mensaje de error y el recurso se rechaza.

La validación de datos se aplica cuando se usan los siguientes métodos:

Flujo de trabajo de la validación de perfiles

En el siguiente diagrama, se muestra el flujo de trabajo de validación para agregar o actualizar recursos de FHIR:

fhir-profiles

Define tus perfiles de FHIR

En las secciones siguientes, se describe cómo descargar las definiciones de estructura de tu software de terceros y configurar una guía de implementación.

Descarga tus definiciones de estructura

Para garantizar que tus definiciones de estructura coincidan con tu fuente de autorización, descarga las definiciones de estructura, las guías de implementación y los conjuntos de valores de tu proveedor de software de terceros.

Por ejemplo, si tu sistema usa el perfil del paciente Button Button, puedes descargar las definiciones de estructura y la guía de implementación que usa el botón azul.

La API de Cloud Healthcare permite la validación para el siguiente tipo de reglas de definición de estructura:

  • Sección de tipo (en el tipo value o pattern)
  • min/max
  • tipo
  • fixed
  • patrón
  • minValue
  • maxValue
  • maxLength
  • vinculación

Configura tu guía de implementación

Después de descargar las definiciones de estructura, la guía de implementación y el conjunto de valores, debes agregar los perfiles que se validarán mediante la guía de implementación.

Para configurar tu guía de implementación y usarla en tu almacén de FHIR, completa los siguientes pasos:

  1. Abre el archivo de la guía de implementación que descargaste de tu proveedor de software de terceros.

  2. Agrega la siguiente sección para incluir las definiciones de estructura que validará tu guía de implementación:

    {
        "resourceType": "ImplementationGuide",
        ...
        "global": [
            {
            "type": "RESOURCE_TYPE",
            "profile": "STRUCTURE_DEFINITION_URL"
            }
        ]
        ...
    }
    

    En este ejemplo, define lo siguiente:

    • type define el tipo de recurso.
    • profile se vincula a la definición de la estructura de origen del perfil.
  3. Guarda el archivo de la guía de implementación.

Sube tu guía de implementación a Cloud Storage

Después de editar tu guía de implementación, debes agregar la guía de implementación, las definiciones de estructura y los conjuntos de valores a Cloud Storage para que puedan usarse a fin de validar recursos en tu almacén de FHIR. Para agregar la guía de implementación, las definiciones de estructura y los conjuntos de valores a Cloud Storage, ejecuta los siguientes comandos:

gsutil cp -r \
   PATH_TO_IMPLEMENTATION_GUIDE \
   gs://BUCKET/IMPLEMENTATION_GUIDE

Importa la guía de implementación

Si deseas usar la guía de implementación para validar perfiles en tu almacén de FHIR, debes importarlo a tu tienda como un recurso.

En los siguientes ejemplos, se muestra cómo importar tu guía de implementación en un almacén de FHIR:

gcloud

Para agregar tu guía de implementación como un recurso a un almacén de FHIR, ejecuta el comando de gcloud healthcare fhir-stores import gcs.

En el siguiente ejemplo, se muestra cómo agregar tu guía de implementación como un recurso a un almacén de FHIR.

gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \
  --dataset=DATASET_ID \
  --gcs-uri=gs://BUCKET/DIRECTORY/*

API

curl

Para agregar tu guía de implementación como un recurso a 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
  • El nombre del almacén FHIR
  • La ubicación de la guía de implementación en un depósito de Cloud Storage

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 '{
      "contentStructure": "RESOURCE_PRETTY",
      "gcsSource": {
        "uri": "gs://BUCKET/DIRECTORY/*"
      }
    }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"

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

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

PowerShell

Para agregar tu guía de implementación como un recurso a 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
  • El nombre del almacén FHIR
  • La ubicación de la guía de implementación en un depósito de Cloud Storage

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 '{
    "contentStructure": "RESOURCE_PRETTY",
    "gcsSource": {
      "uri": "gs://BUCKET/DIRECTORY/*"
    }
  }' `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | 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/operations/OPERATION_ID"
}

Habilita tu guía de implementación

Si deseas usar un recurso de guía de implementación para validar perfiles, debes habilitar la guía de implementación para la validación. Si habilitas más de una guía de implementación, estas guías se aplican juntas y un recurso solo tiene que coincidir con un perfil de cualquier guía de implementación habilitada.

En los siguientes ejemplos, se muestra cómo habilitar la guía de implementación para la validación de perfiles:

curl

Para habilitar tu guía de implementación , realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre y la ubicación del conjunto de datos superior
  • El nombre del almacén FHIR
  • El campo enabledImplementationGuides configurado en la ruta de tu recurso de guía de implementación

En el siguiente ejemplo, se muestra una solicitud PATCH mediante curl.


curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/fhir+json;charset=utf-8" \
    --data '{
      "validationConfig": {
          "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"]
      }
    }' "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig"

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",
  "validationConfig": {
    "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"],
    "disableProfileValidation": false
  }
}

PowerShell

Para habilitar tu guía de implementación , realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre y la ubicación del conjunto de datos superior
  • El nombre del almacén FHIR
  • El campo enabledImplementationGuides configurado en la ruta de tu recurso de guía de implementación

En el siguiente ejemplo, se muestra una solicitud PATCH mediante Windows PowerShell.

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

Invoke-WebRequest `
  -Method Patch `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body '{
      "validationConfig": {
          "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"],
          "disableProfileValidation": false
      }
  }' `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig" | 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",
  "validationConfig": {
    "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"]
    "disableProfileValidation": false
  },
}