Os guias e perfis de implementação do FHIR garantem que os recursos em um armazenamento de FHIR estão em conformidade com critérios específicos. Alguns exemplos de guias de implementação incluem o Guia de implementação de núcleo dos EUA 4.0.0 e o Guia de implementação do Botão Azul da Carin.
Esta página explica como definir, configurar e usar guias e perfis de implementação em armazenamentos de FHIR R4 usando o guia de implementação principal dos EUA 4.0.0.
Visão geral
Os perfis FHIR são um conjunto de regras adicionais definidas no topo da especificação FHIR de base para lidar com a maneira como diferentes sistemas de saúde processam recursos. É possível importar e ativar perfis do FHIR em um armazenamento de FHIR para garantir que todos os recursos em um armazenamento do FHIR atendam a critérios específicos da estrutura de recursos e das informações capturadas.
Definições de estrutura e guias de implementação
É 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. Use uma definição de estrutura para fazer o seguinte:
- Defina a restrição de um campo em um recurso FHIR.
- Refira-se a conjuntos de valores que vinculam sistemas de código e recursos FHIR.
Use um guia de implementação com definições de estrutura para validar recursos correspondentes ao caso de uso do software de terceiros.
Por exemplo, suponha que seu software de terceiros precise obedecer à interoperabilidade dos Centros de Controle de Medicamentos e Serviços de Medicamento (CMS, na sigla em inglês) e à regra final de acesso ao paciente nos EUA. O software de terceiros precisará fornecer uma API Patient Access em conformidade com perfis do CARIN. Você pode importar e ativar o guia de implementação do CARIN no armazenamento de FHIR para validar os recursos nos perfis do CARIN. A importação e a ativação de guias de implementação estã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 FHIR é atualizado ou adicionado ao armazenamento, a API Cloud Healthcare verifica se ele corresponde a uma definição de estrutura no guia de implementação. Se o recurso FHIR corresponder, o recurso FHIR será adicionado ao armazenamento. 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.
Aplicação da validação de dados
A API Cloud Healthcare aplica a validação de dados ao usar os seguintes métodos:
projects.locations.datasets.fhirStores.fhir.create
projects.locations.datasets.fhirStores.fhir.update
projects.locations.datasets.fhirStores.fhir.patch
projects.locations.datasets.fhirStores.executeBundle
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:
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 dos recursos de validação do perfil
Para garantir que suas definições de estrutura correspondam à fonte autoritativa, faça o download dos recursos de validação de perfil, como definições de estrutura, guias de implementação ou conjuntos de valores, de uma fonte externa, como o registro do guia de implementação do FHIR.org. As fontes externas fornecem um pacote que contém todos os conjuntos de valores, perfis, extensões, uma lista de páginas e URLs para cada guia de implementação.
Por exemplo, se o sistema usa o perfil de paciente do US Core, faça o download das definições de estrutura e do guia de implementação usados pelo US Core.
A API Cloud Healthcare permite a validação do seguinte tipo de regras de definição de estrutura:
slicing
, com suporte para os seguintes discriminadores:value
pattern
profile
min/max
type
fixed
pattern
minValue
maxValue
maxLength
binding
, exceto nas seguintes regras:ValueSet.compose.include.filter
ValueSet.compose.exclude
Configurar seu guia de implementação
Depois de fazer o download das definições de estrutura, do guia de implementação e do conjunto de valores, adicione os perfis que o guia de implementação usa para validar os recursos FHIR.
Para configurar o guia de implementação, siga estas etapas:
Abra o arquivo de guia de implementação que você salvou do seu provedor de software de terceiros.
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" } ] ... }
Substitua:
- RESOURCE_TYPE: define o tipo de recurso ao qual o guia de implementação é aplicável.
- STRUCTURE_DEFINITION_URL: o URL para a definição da estrutura de origem do perfil, por exemplo, o Perfil de paciente principal dos EUA.
Salve o arquivo do guia de implementação.
O exemplo a seguir mostra os perfis de paciente e organização ativados para o guia de implementação do núcleo dos EUA:
"global":[ { "type":"Patient", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "type":"Organization", "profile":"https://hl7.org/fhir/us/core/StructureDefinition/us-core-organization" }, ... ]
Fazer upload do guia de implementação para o Cloud Storage
Depois de editar o guia de implementação, faça upload dos seguintes arquivos para o Cloud Storage:
- Guia de implementação
- Definições de estrutura
- Conjuntos de valores
Depois de fazer o upload, é possível usar esses arquivos para validar recursos no armazenamento de FHIR.
Para fazer upload do guia de implementação para o Cloud Storage, siga estas etapas:
Exclua todos os arquivos do guia de implementação que não são usados pelos perfis do FHIR na API Cloud Healthcare.
Por exemplo, se você estiver implementando o guia de implementação principal dos EUA, exclua os seguintes arquivos:
.DS_Store
ig-r4.json
openapi/.index.json
package.json
Para adicionar o guia de implementação, as definições de estrutura e os conjuntos de valores ao Cloud Storage, execute os seguintes comandos:
gcloud storage cp \ PATH_TO_IMPLEMENTATION_GUIDE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Substitua:
- PATH_TO_IMPLEMENTATION_GUIDE: o caminho para o guia de implementação na máquina local
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: o bucket e o diretório em que você armazena o guia de implementação no Cloud Storage.
Importar o guia de implementação
Para usar o guia de implementação para validar perfis no armazenamento de FHIR, importe-o para o armazenamento de FHIR como um recurso de FHIR.
Os exemplos a seguir mostram como importar o guia de implementação para um armazenamento de FHIR:
gcloud
Para adicionar o guia de implementação como um recurso a um
armazenamento de FHIR,
execute o comando gcloud healthcare fhir-stores import gcs
:
gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \ --dataset=DATASET_ID \ --gcs-uri='gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY/*' \ --content-structure=resource-pretty
Substitua:
- FHIR_STORE_ID: o ID de armazenamento do FHIR;
- DATASET_ID: o ID do conjunto de dados;
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: o local do guia de implementação em um bucket do Cloud Storage.
A saída é esta:
Request issued for: [FHIR_STORE_ID] Waiting for operation [OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
Nesta saída:
- PROJECT_ID, LOCATION, DATASET_ID: 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 ver mais detalhes da operação, execute o comando gcloud healthcare operations describe
, fornecendo o OPERATION_ID da resposta:
gcloud healthcare operations describe OPERATION_ID \ --dataset=DATASET_ID
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 execute o comando gcloud healthcare operations describe
novamente.
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata apiMethodName: google.cloud.healthcare.v1.fhir.FhirService.ImportResources createTime: 'CREATE_TIME' endTime: 'END_TIME' name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse fhirStore: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
API
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/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import"
Substitua:
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: o local do guia de implementação em um bucket do Cloud Storage;
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR.
A resposta é esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Nesta saída:
- PROJECT_ID, LOCATION, DATASET_ID: 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/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
Substitua:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR;
- 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/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
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/IMPLEMENTATION_GUIDE_DIRECTORY/*" } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:import" | Select-Object -Expand Content
Substitua:
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: o local do guia de implementação em um bucket do Cloud Storage;
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR.
A resposta é esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" }
Nesta saída:
- PROJECT_ID, LOCATION, DATASET_ID: 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/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Substitua:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR;
- 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/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.ImportResources", "createTime": "CREATE_TIME", "endTime": "END_TIME", "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL", "counter": { "success": "SUCCESS_COUNT" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1.fhir.rest.ImportResourcesResponse", } }
Fazer upload e importar dependências da sua implementação
Antes de ativar o guia de implementação, verifique se todas as
dependências dele foram enviadas e importadas. As dependências são definidas
pelo parâmetro dependsOn
no guia de implementação da seguinte maneira:
"dependsOn":[
{
"id":"hl7_fhir_uv_bulkdata",
"uri":"http://hl7.org/fhir/uv/bulkdata/ImplementationGuide/hl7.fhir.uv.bulkdata",
"packageId":"hl7.fhir.uv.bulkdata",
"version":"1.0.1"
},
{
"id":"vsac",
"uri":"http://fhir.org/packages/us.nlm.vsac/ImplementationGuide/us.nlm.vsac",
"packageId":"us.nlm.vsac",
"version":"0.3.0"
}
]
Para fazer upload e importar dependências, siga as instruções em Fazer upload do guia de implementação para o Cloud Storage e Importar o guia de implementação, respectivamente.
Ativar o guia de implementação
Para usar um recurso de guia de implementação para validar perfis, você precisa ativar o guia de implementação. Se você ativar mais de um guia de implementação, a API Cloud Healthcare vai tentar validar os perfis em todos os guias de implementação. Um recurso FHIR só precisa corresponder a um perfil de qualquer guia de implementação ativado.
A API Cloud Healthcare só valida os guias de implementação quando você os ativa. Se você modificar um guia de implementação e ativar novamente, a API Cloud Healthcare vai validar o guia modificado.
Se você remover um guia de implementação depois de ativá-lo, ele vai deixar de entrar em vigor.
Os exemplos a seguir mostram como ativar o guia de implementação para validação de perfil em um armazenamento de FHIR existente:
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 do 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"], "disableProfileValidation": false } }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig"
Substitua:
- IMPLEMENTATION_GUIDE_URL: o URL definido na propriedade
url
do recurso ImplementationGuide, por exemplo,http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR.
A resposta é esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"] } }
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 do 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"] } }' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=validationConfig" | Select-Object -Expand Content
Substitua:
- IMPLEMENTATION_GUIDE_URL: o URL definido na propriedade
url
do recurso ImplementationGuide, por exemplo,http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento do FHIR.
A resposta é esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "validationConfig": { "enabledImplementationGuides": ["IMPLEMENTATION_GUIDE_URL"], }, }
Python
Usar o console do Google Cloud para ativar os guias de implementação
Ao usar o console do Google Cloud para criar ou editar uma loja FHIR, é possível fazer o seguinte:
- Selecione os guias de implementação padrão fornecidos pela API Cloud Healthcare.
- Importar um guia de implementação personalizado do Cloud Storage para o armazenamento de FHIR
Para importar um guia de implementação personalizado, siga estas etapas:
Opcional: configure seu guia de implementação.
Essa etapa é necessária para adicionar a matriz
global
ao recurso do guia de implementação manualmente. Se você optar por pular esta etapa, adicione a matrizglobal
ao criar o pacote de transações do FHIR na próxima etapa usando um método diferente, como a ferramenta Bundler para recursos de validação de perfil do FHIR com a flaggenerate_global_array
.Crie um pacote de transações FHIR dos recursos de validação do perfil, que inclui o guia de implementação, as definições de estrutura e os conjuntos de valores.
É possível criar o pacote de transações usando a ferramenta Bundler for FHIR profile validation resources.
Faça upload do pacote de validação do perfil FHIR para um local do Cloud Storage.
gcloud storage cp \ PATH_TO_PROFILE_VALIDATION_BUNDLE \ gs://BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY \ --recursive
Substitua:
- PATH_TO_PROFILE_VALIDATION_BUNDLE: o caminho para o pacote de validação do perfil na máquina local
- BUCKET/IMPLEMENTATION_GUIDE_DIRECTORY: o local do Cloud Storage em que o pacote precisa ser armazenado
Importe seu guia de implementação personalizada do local do Cloud Storage ao criar ou editar sua loja de FHIR.
Validar recursos com base em perfis específicos
Os exemplos a seguir mostram como validar um recurso FHIR para um perfil específico ou para todos os perfis definidos para um armazenamento de FHIR. A validação do recurso FHIR permite determinar se ele está em conformidade com um ou mais perfis.
Para validar um recurso do FHIR, use o método
fhir.Resource-validate
.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @RESOURCE_FILE \ 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL'
Substitua:
- RESOURCE_FILE: o local de um arquivo que contém o recurso
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento de FHIR
- PROFILE_URL: o URL canônico do perfil FHIR, por exemplo,
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
para um recurso de paciente. Precisa haver um recurso StructureDefinition em FHIR_STORE_ID que tenha esse URL. Se você estiver validando o recurso com base nos perfis que já ativou na loja, não forneça esse parâmetro de consulta. - RESOURCE_TYPE: o tipo de recurso
Se um recurso estiver em conformidade com os perfis, uma resposta semelhante a esta será retornada:
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Se um recurso não estiver em conformidade com um perfil, um erro será retornado com uma resposta semelhante a esta:
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }
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 '@RESOURCE_FILE' ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/$validate?profile=PROFILE_URL" | Select-Object -Expand Content
Substitua:
- RESOURCE_FILE: o local de um arquivo que contém o recurso
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- FHIR_STORE_ID: o ID de armazenamento de FHIR
- PROFILE_URL: o URL canônico do perfil FHIR, por exemplo,
http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
para um recurso de paciente. Precisa haver um recurso StructureDefinition em FHIR_STORE_ID que tenha esse URL. Se você estiver validando o recurso com base nos perfis que já ativou na loja, não forneça esse parâmetro de consulta. - RESOURCE_TYPE: o tipo de recurso
Se um recurso for validado para um perfil, uma resposta semelhante a esta será retornada:
{ "issue": [ { "code": "informational", "details": { "text": "success" }, "diagnostics": "success", "severity": "information" } ], "resourceType": "OperationOutcome" }
Se um recurso não for validado para um perfil, um erro será retornado com uma resposta semelhante a esta:
{ "issue": [ { "code": "processing", "diagnostics": "Profile http://hl7.org/fhir/StructureDefinition/AuditEvent, Element 'AuditEvent.agent.requestor': minimum required = 1, but only found 0", "location": [ "AuditEvent.agent" ], "severity": "error" } ], "resourceType": "OperationOutcome" }