Como ativar perfis de FHIR

Nesta página, explicamos como importar e ativar guias e perfis de implementação de FHIR em armazenamentos de FHIR.

Visão geral

Os perfis de FHIR são um conjunto de regras adicionais definidas sobre a especificação FHIR básica que gerenciam como os diferentes sistemas de saúde processam recursos. É possível importar e ativar os perfis de FHIR em um armazenamento de FHIR para garantir que todos os recursos em um armazenamento de FHIR atendam a critérios específicos de estrutura e informações dos recursos capturados.

É possível importar perfis FHIR do armazenamento de FHIR inserindo uma ou mais definições de estrutura agrupadas em um ou mais guias de implementação. Uma definição de estrutura define as restrições de um campo em um recurso de FHIR. As definições de estrutura também fazem referência a conjuntos de valores que vinculam sistemas de código a recursos FHIR. O guia de implementação permite usar essas definições de estrutura para validar recursos de modo que eles correspondam ao caso de uso do seu software de terceiros.

Por exemplo, seu software de terceiros pode precisar estar em conformidade com o Center for Medicare & Medicaid Services (CMS) e a regra final de acesso ao paciente nos EUA fornecendo uma API de acesso ao paciente em conformidade com o { 101}Perfis de CARIN para começar. Importe e ative o guia de implementação CARIN no armazenamento de FHIR para validar os recursos em relação aos perfis de CARIN. A importação e a ativação de guias de implementação são descritas nas seções subsequentes desta página.

Depois de importar o guia de implementação, é possível ativá-lo no armazenamento de FHIR para validação de recursos. Quando um recurso é atualizado ou adicionado ao armazenamento, é feita uma verificação para determinar se ele corresponde a alguma definição de estrutura do guia de implementação. Se isso acontecer, o recurso será adicionado à loja. Se o recurso não estiver em conformidade com as definições de estrutura no guia de implementação, uma mensagem de erro será retornada e o recurso será rejeitado.

A validação de dados é aplicada quando se usa os seguintes métodos:

Fluxo de trabalho de validação de perfil

O diagrama a seguir mostra o fluxo de trabalho de validação para adicionar ou atualizar recursos FHIR:

Perfis de FHIR

Definir seus perfis de FHIR

As seções a seguir descrevem como fazer o download das definições de estrutura do software de terceiros e configurar um guia de implementação.

Fazer o download das definições de estrutura

Para garantir que suas definições de estrutura correspondam à fonte autoritativa, faça o download das definições da estrutura, dos guias de implementação e dos conjuntos de valores do seu provedor de software de terceiros.

Por exemplo, se o sistema usar o perfil paciente Botão azul, será possível fazer o download das definições de estrutura e do guia de implementação usados pelo botão azul.

A API Cloud Healthcare permite a validação do seguinte tipo de regras de definição de estrutura:

  • fragmentando (no tipo value ou pattern)
  • Mínimo/máximo
  • tipo
  • fixo
  • padrão
  • minValue
  • maxValue
  • maxLength
  • vinculação

Configurar seu guia de implementação

Depois de fazer o download das definições da estrutura, do guia de implementação e do conjunto de valores, adicione os perfis que serão validados pelo guia.

Para configurar o guia de implementação para ser usado no armazenamento de FHIR, siga estas etapas:

  1. Abra o arquivo de guia de implementação que você salvou do seu provedor de software de terceiros.

  2. Adicione a seção a seguir para incluir as definições de estrutura a serem validadas pelo guia de implementação:

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

    Neste exemplo, defina o seguinte:

    • type define o tipo de recurso.
    • profile vincula à definição da estrutura de origem do perfil.
  3. Salve o arquivo do guia de implementação.

Fazer upload do guia de implementação para o Cloud Storage

Depois de editar seu guia de implementação, é preciso adicionar o guia de implementação, as definições de estrutura e os conjuntos de valores ao Cloud Storage para que sejam usados para validar recursos no armazenamento de FHIR. Para adicionar o guia de implementação, as definições de estrutura e os conjuntos de valores ao Cloud Storage, execute os seguintes comandos:

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

Importar seu guia de implementação

Para usar o guia de implementação para validar perfis no armazenamento de FHIR, importe-o para o armazenamento como um recurso.

Os exemplos a seguir mostram como importar o guia de implementação para um armazenamento de FHIR:

gcloud

Para adicionar seu guia de implementação como um recurso a um armazenamento de FHIR, execute o comando gcloud healthcare fhir-stores import gcs.

O exemplo a seguir mostra como adicionar seu guia de implementação como um recurso a um armazenamento de FHIR.

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

API

curl

Para adicionar o guia de implementação como um recurso a um armazenamento de FHIR, faça uma solicitação POST e especifique as seguintes informações:

  • O nome e o local do conjunto de dados pai.
  • O nome do armazenamento FHIR
  • Localização do guia de implementação em um bucket do Cloud Storage

O exemplo a seguir mostra uma solicitação POST usando 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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

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

PowerShell

Para adicionar o guia de implementação como um recurso a um armazenamento de FHIR, faça uma solicitação POST e especifique as seguintes informações:

  • O nome e o local do conjunto de dados pai.
  • O nome do armazenamento FHIR
  • Localização do guia de implementação em um bucket do Cloud Storage

O exemplo a seguir mostra uma solicitação POST usando o 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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

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

Ativar seu guia de implementação

Para usar um recurso do guia de implementação para validar perfis, é necessário ativar o guia de implementação para validação. Se você ativar mais de um guia de implementação, esses guias serão aplicados juntos, e um recurso só precisará corresponder a um perfil de qualquer guia de implementação ativado.

Os exemplos a seguir mostram como ativar o guia de implementação para validação do perfil:

curl

Para ativar seu guia de implementação , faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome e o local do conjunto de dados pai.
  • O nome do armazenamento FHIR
  • O campo enabledImplementationGuides definido como o caminho para o recurso de guia de implementação

O exemplo a seguir mostra uma solicitação PATCH usando 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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "validationConfig": {
    "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"],
    "disableProfileValidation": false
  }
}

PowerShell

Para ativar seu guia de implementação , faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome e o local do conjunto de dados pai.
  • O nome do armazenamento FHIR
  • O campo enabledImplementationGuides definido como o caminho para o recurso de guia de implementação

O exemplo a seguir mostra uma solicitação PATCH usando o 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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "validationConfig": {
    "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"]
    "disableProfileValidation": false
  },
}