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:
-
Valida o recurso em relação à especificação FHIR e à definição do recurso básico
-
Verifica a conformidade com os perfis especificados quando o
profileparâmetro é fornecido -
Valida com base no modo especificado (
createouupdate) -
Retorna resultados detalhados da validação, incluindo erros, avisos e mensagens informativas
-
Não executa nenhuma operação de armazenamento - somente validação
-
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