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á.
Operação FHIR para $inquire HealthLake
A $inquire operação permite que você verifique o status de uma solicitação de autorização prévia enviada anteriormente. Essa operação implementa o Guia de Implementação do Da Vinci Prior Authorization Support (PAS)
Como funciona
-
Enviar consulta: Você envia um pacote FHIR contendo a reclamação que deseja verificar e informações de apoio
-
Pesquisa: HealthLake pesquisa o correspondente ClaimResponse em seu armazenamento de dados
-
Recuperar: o status de autorização mais recente foi recuperado
-
Responder: você recebe uma resposta imediata com o status atual da autorização (em fila, aprovada, negada etc.)
nota
$inquireé uma operação somente de leitura que recupera o status de autorização existente. Ele não modifica nem atualiza nenhum recurso em seu armazenamento de dados.
Ponto final da API
POST /datastore/{datastoreId}/r4/Claim/$inquire Content-Type: application/fhir+json
Estrutura de solicitações
Requisitos do pacote
Sua solicitação deve ser um recurso do FHIR Bundle com:
-
Bundle.type: Deve ser
"collection" -
Bundle.entry: deve conter exatamente um recurso de reivindicação com:
-
use = "preauthorization" -
status = "active"
-
-
Recursos referenciados: todos os recursos referenciados pela reivindicação devem ser incluídos no pacote
Consulta por exemplo
Os recursos em seu pacote de entrada servem como um modelo de pesquisa. HealthLake usa as informações fornecidas para localizar o correspondente ClaimResponse.
Recursos necessários
| Recurso | Cardinalidade | Perfil | Description |
|---|---|---|---|
| Reclamação | 1 | Consulta de reclamação do PAS | A autorização prévia sobre a qual você está perguntando |
| Paciente | 1 | Paciente beneficiário do PAS | Informações demográficas do paciente |
| Organização (Seguradora) | 1 | Organização seguradora PAS | Companhia de seguros |
| Organização (Provedor) | 1 | Organização solicitante do PAS | Profissional de saúde que enviou a solicitação |
Critérios de pesquisa importantes
HealthLake pesquisa o ClaimResponse uso de:
-
Referência do paciente a partir da reclamação
-
Referência da seguradora a partir da reclamação
-
Referência do provedor a partir da reclamação
-
Data de criação a partir da reclamação (como filtro de tempo)
Somente consultas específicas do paciente
Todas as consultas devem estar vinculadas a um paciente específico. Consultas em todo o sistema sem identificação do paciente não são permitidas.
Exemplo de solicitação
POST /datastore/example-datastore/r4/Claim/$inquire Content-Type: application/fhir+json Authorization: Bearer <your-token> { "resourceType": "Bundle", "id": "PASClaimInquiryBundleExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-inquiry-request-bundle"] }, "identifier": { "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER", "value": "5269368" }, "type": "collection", "timestamp": "2005-05-02T14:30:00+05:00", "entry": [ { "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample", "resource": { "resourceType": "Claim", "id": "MedicalServicesAuthorizationExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"] }, "status": "active", "type": { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/claim-type", "code": "professional" }] }, "use": "preauthorization", "patient": { "reference": "Patient/SubscriberExample" }, "created": "2005-05-02T11:01:00+05:00", "insurer": { "reference": "Organization/InsurerExample" }, "provider": { "reference": "Organization/UMOExample" } } }, { "fullUrl": "http://example.org/fhir/Patient/SubscriberExample", "resource": { "resourceType": "Patient", "id": "SubscriberExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"] }, "name": [{ "family": "SMITH", "given": ["JOE"] }], "gender": "male" } }, { "fullUrl": "http://example.org/fhir/Organization/UMOExample", "resource": { "resourceType": "Organization", "id": "UMOExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"] }, "name": "Provider Organization" } }, { "fullUrl": "http://example.org/fhir/Organization/InsurerExample", "resource": { "resourceType": "Organization", "id": "InsurerExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"] }, "name": "Insurance Company" } } ] }
Formato de resposta
Resposta de sucesso (200 OK)
Você receberá um pacote de respostas de consulta do PAS contendo:
-
ClaimResponsecom o status de autorização atual; múltiplo ClaimResponsese corresponder aos critérios de pesquisa
-
Todos os recursos originais de sua solicitação (repetidos de volta)
-
Registro de data e hora de quando a resposta foi montada
Possíveis ClaimResponse resultados
| Outcome | Description |
|---|---|
queued |
A solicitação de autorização ainda está pendente de análise |
complete |
A decisão de autorização foi tomada (verifique se foi disposition aprovada/negada) |
error |
Ocorreu um erro durante o processamento |
partial |
Autorização parcial concedida |
{ "resourceType": "Bundle", "identifier": { "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER", "value": "5269367" }, "type": "collection", "timestamp": "2005-05-02T14:30:15+05:00", "entry": [ { "fullUrl": "http://example.org/fhir/ClaimResponse/InquiryResponseExample", "resource": { "resourceType": "ClaimResponse", "id": "InquiryResponseExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse-inquiry"] }, "status": "active", "type": { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/claim-type", "code": "professional" }] }, "use": "preauthorization", "patient": { "reference": "Patient/SubscriberExample" }, "created": "2005-05-02T11:05:00+05:00", "insurer": { "reference": "Organization/InsurerExample" }, "request": { "reference": "Claim/MedicalServicesAuthorizationExample" }, "outcome": "complete", "disposition": "Approved", "preAuthRef": "AUTH12345" } }, { "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample", "resource": { "resourceType": "Claim", "id": "MedicalServicesAuthorizationExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"] }, "status": "active", "type": { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/claim-type", "code": "professional" }] }, "use": "preauthorization", "patient": { "reference": "Patient/SubscriberExample" }, "created": "2005-05-02T11:01:00+05:00", "insurer": { "reference": "Organization/InsurerExample" }, "provider": { "reference": "Organization/UMOExample" } } }, { "fullUrl": "http://example.org/fhir/Patient/SubscriberExample", "resource": { "resourceType": "Patient", "id": "SubscriberExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"] }, "name": [{ "family": "SMITH", "given": ["JOE"] }], "gender": "male" } }, { "fullUrl": "http://example.org/fhir/Organization/UMOExample", "resource": { "resourceType": "Organization", "id": "UMOExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"] }, "name": "Provider Organization" } }, { "fullUrl": "http://example.org/fhir/Organization/InsurerExample", "resource": { "resourceType": "Organization", "id": "InsurerExample", "meta": { "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"] }, "name": "Insurance Company" } } ] }
Respostas de erro
400 solicitação inválida
Retornado quando o formato da solicitação é inválido ou a validação falha.
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "required", "diagnostics": "Reference 'Patient/SubscriberExample' at path 'patient' for 'CLAIM' resource not found(at Bundle.entry[0].resource)" } ] }
401 Não autorizado
Retornado quando as credenciais de autenticação estão ausentes ou são inválidas.
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "forbidden", "diagnostics": "Invalid authorization header" } ] }
403 proibido
Retornado quando o usuário autenticado não tem permissão para acessar o recurso solicitado.
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "exception", "diagnostics": "Insufficient SMART scope permissions." } ] }
400 Quando nenhum foi encontrado
Retornado quando nenhuma correspondência ClaimResponse foi encontrada para a consulta.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "not-found", "diagnostics": "Resource not found. No ClaimResponse found from the input Claim that matches the specified Claim properties patient, insurer, provider, and created(at Bundle.entry[0].resource)" }] }
415 Tipo de mídia não suportado
Retornado quando o cabeçalho Content-Type não é application/fhir+json.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "value", "diagnostics": "Incorrect MIME-type. Update request Content-Type header." }] }
429, muitas solicitações
Retornado quando os limites de taxa são excedidos.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "throttled", "diagnostics": "Rate limit exceeded. Please retry after some time." }] }
Regras de validação
HealthLake realiza uma validação abrangente em sua consulta:
Validação do pacote
-
Deve estar em conformidade com o perfil do PAS Inquiry Request Bundle
-
Bundle.typedeve ser"collection" -
Deve conter exatamente um recurso de reclamação
-
Todos os recursos referenciados devem ser incluídos no pacote
Validação da solicitação
-
Deve estar em conformidade com o perfil PAS Claim Inquiry
-
Claim.usedeve ser"preauthorization" -
Claim.statusdeve ser"active" -
Campos obrigatórios:
patient,insurer,provider,created
Validação de recursos
-
Todos os recursos devem estar em conformidade com seus respectivos perfis de consulta do PAS
-
Os recursos de apoio necessários devem estar presentes (paciente, seguradora, organização prestadora)
-
As referências cruzadas devem ser válidas e solucionáveis dentro do pacote
Especificações de performance
| Métrica | Especificação |
|---|---|
| Limite de contagem de recursos | 500 recursos por pacote |
| Limite de tamanho do pacote | Máximo de 5 MB |
Permissões obrigatórias
Para usar a $inquire operação, certifique-se de que sua função do IAM tenha:
-
healthlake:InquirePreAuthClaim- Para chamar a operação
SMART em escopos FHIR
Escopos mínimos exigidos:
-
SMART v1:
user/ClaimResponse.read -
SMART v2:
user/ClaimResponse.s
Notas de implementação importantes
Comportamento de pesquisa
Quando você envia uma consulta, HealthLake pesquisa ClaimResponse usando:
-
Referência do paciente a partir da reivindicação de entrada
-
Referência da seguradora a partir da reclamação de entrada
-
Referência do provedor a partir da reivindicação de entrada
-
Data de criação a partir da declaração de entrada (como um filtro de tempo)
Várias correspondências: se várias ClaimResponses corresponderem aos seus critérios de pesquisa, HealthLake retornará todos os resultados correspondentes. Você deve usar o ClaimResponse.created carimbo de data/hora mais recente para identificar o status mais recente.
Reivindicações atualizadas
Se você enviou várias atualizações para a mesma autorização anterior (por exemplo, Claim v1.1, v1.2, v1.3), a $inquire operação recuperará a versão ClaimResponse associada à versão mais recente com base nos critérios de pesquisa fornecidos.
Operação somente de leitura
A $inquire operação:
-
Recupera o status de autorização existente
-
Retorna o mais recente ClaimResponse
-
Não modifica nem atualiza nenhum recurso
-
Não cria novos recursos
-
Não aciona o processamento de novas autorizações
Exemplo de fluxo de trabalho
Fluxo de trabalho típico de consulta de autorização prévia
1. Provider submits PA request POST /Claim/$submit → Returns ClaimResponse with outcome="queued" 2. Payer reviews request (asynchronous) → Updates ClaimResponse status internally 3. Provider checks status POST /Claim/$inquire → Returns ClaimResponse with outcome="queued" (still pending) 4. Provider checks status again later POST /Claim/$inquire → Returns ClaimResponse with outcome="complete", disposition="Approved"
Operações do relacionadas
-
Claim/$submit- Envie uma nova solicitação de autorização prévia ou atualize uma existente -
Patient/$everything- Recupere dados abrangentes do paciente para contexto de autorização prévia