Validando recursos do FHIR com $validate - AWS HealthLake

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Validando recursos do FHIR com $validate

AWS HealthLake agora suporta a $validate operação de recursos FHIR, permitindo que você valide um recurso de acordo com a especificação FHIR e verifique sua conformidade com um perfil específico ou definição de recurso básico sem realizar nenhuma operação de armazenamento. Essa operação é particularmente útil quando você precisa:

  • Valide os requisitos de conformidade do FHIR CMS

  • Teste os recursos antes de usá-los na produção

  • Forneça feedback de validação em tempo real à medida que os usuários editam dados clínicos

  • Reduza os envios de dados inválidos para criar e atualizar APIs

Uso

A $validate operação pode ser invocada em recursos FHIR usando métodos POST:

Operações com Suporte

POST [base]/[type]/[id]/$validate POST [base]/[type]/$validate

Cargas úteis suportadas

Recurso de parâmetros

HealthLake suporta os seguintes parâmetros FHIR: $validate

Parameter Type Obrigatório Descrição
resource Recurso Sim O recurso a ser validado
profile canônico Não URL canônico do perfil a ser validado
mode código Não Modo de validação:create, ou update
Recurso direto com parâmetros de consulta

Parameter Type Obrigatório Descrição
profile canônico Não URL canônico do perfil a ser validado
mode código Não Modo de validação:create, ou update

Exemplos

Solicitação POST de recurso com ID e carga útil de parâmetros

POST [base]/Patient/example-patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "create" } ] }
Solicitação POST para tipo de recurso e carga útil de parâmetros

POST [base]/Patient/$validate Content-Type: application/fhir+json { "resourceType": "Parameters", "parameter": [ { "name": "resource", "resource": { "resourceType": "Patient", "name": [ { "family": "Doe", "given": ["Jane"] } ], "gender": "female", "birthDate": "1985-05-15" } }, { "name": "profile", "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" }, { "name": "mode", "valueString": "update" } ] }
Solicitação POST de recurso com ID e carga direta de recursos

POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
Solicitação POST para tipo de recurso e carga direta do recurso

POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create Content-Type: application/fhir+json { "resourceType": "Patient", "id": "example-patient", "name": [ { "family": "Smith", "given": ["John"] } ], "gender": "male", "birthDate": "1990-01-01" }
Resposta da amostra

A operação retorna um OperationOutcome recurso com resultados de validação:

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "information", "code": "informational", "diagnostics": "Validation successful" } ] }
Exemplo de resposta com erros de validação

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "required", "details": { "text": "Missing required element" }, "diagnostics": "Patient.identifier is required by the US Core Patient profile", "location": [ "Patient.identifier" ] }, { "severity": "warning", "code": "code-invalid", "details": { "text": "Invalid code value" }, "diagnostics": "The provided gender code is not from the required value set", "location": [ "Patient.gender" ] } ] }

Comportamento

A $validate operação:

  1. Valida o recurso em relação à especificação FHIR e à definição do recurso básico

  2. Verifica a conformidade com os perfis especificados quando o profile parâmetro é fornecido

  3. Valida com base no modo especificado (createouupdate)

  4. Retorna resultados detalhados da validação, incluindo erros, avisos e mensagens informativas

  5. Não executa nenhuma operação de armazenamento - somente validação

  6. Retorna HTTP 200 OK quando a validação pode ser realizada, independentemente de problemas de validação terem sido encontrados

Modos de validação

  • criar: valida o recurso como se estivesse sendo criado (novo recurso)

  • atualização: valida o recurso como se estivesse sendo atualizado (recurso existente)

Tratamento de erros

A operação retorna:

  • 200 OK: A validação foi realizada com sucesso (independentemente do resultado da validação)

  • 400 Solicitação inválida: formato ou parâmetros de solicitação inválidos

  • 404 Não encontrado: tipo de recurso ou perfil não encontrado

Para obter mais informações sobre a especificação da $validate operação, consulte a documentação do recurso FHIR R4. $validate