View a markdown version of this page

$inquireOperación FHIR para HealthLake - AWS HealthLake

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$inquireOperación FHIR para HealthLake

La $inquire operación le permite comprobar el estado de una solicitud de autorización previa presentada anteriormente. Esta operación implementa la Guía de implementación de Da Vinci Prior Authorization Support (PAS), que proporciona un flujo de trabajo estandarizado basado en el FHIR para recuperar la decisión de autorización actual.

Funcionamiento

  • Enviar consulta: envías un paquete FHIR que contiene la reclamación que deseas comprobar y la información justificativa

  • Búsqueda: HealthLake busca la correspondiente ClaimResponse en su almacén de datos

  • Recuperar: se recupera el estado de autorización más reciente

  • Responder: recibirá una respuesta inmediata con el estado actual de la autorización (en cola, aprobada, denegada, etc.)

nota

$inquirees una operación de solo lectura que recupera el estado de autorización existente. No modifica ni actualiza ningún recurso del almacén de datos.

Punto de conexión de la API

POST /datastore/{datastoreId}/r4/Claim/$inquire Content-Type: application/fhir+json

Estructura de la solicitud

Requisitos del paquete

Su solicitud debe ser un recurso del paquete FHIR con:

  • Tipo de paquete: debe ser "collection"

  • Bundle.entry: debe contener exactamente un recurso de reclamación con:

    • use = "preauthorization"

    • status = "active"

  • Recursos de referencia: todos los recursos a los que se hace referencia en la reclamación deben incluirse en el paquete

Consulta por ejemplo

Los recursos de tu paquete de entrada sirven como plantilla de búsqueda. HealthLake utiliza la información proporcionada para localizar el correspondiente ClaimResponse.

Recursos necesarios de

Recurso Cardinalidad Perfil Description (Descripción)
Reclamación 1 Consulta de reclamación PAS La autorización previa sobre la que está solicitando información
¿Paciente 1 Paciente beneficiario del PAS Información demográfica del paciente
Organización (aseguradora) 1 Organización aseguradora PAS Compañía de seguros
Organización (proveedor) 1 Organización solicitante del PAS Proveedor de atención médica que presentó la solicitud

Criterios de búsqueda importantes

HealthLake busca el ClaimResponse uso de:

  • Referencia del paciente recogida en la reclamación

  • Referencia de la aseguradora en la reclamación

  • Referencia del proveedor en la reclamación

  • Fecha de creación a partir de la reclamación (como filtro de tiempo)

Solo consultas específicas para pacientes

Todas las consultas deben estar vinculadas a un paciente específico. No se permiten consultas en todo el sistema sin la identificación del paciente.

Ejemplo de solicitud

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 las respuestas

Respuesta correcta (200 OK)

Recibirá un paquete de respuestas a una consulta del PAS que contiene:

  • ClaimResponsecon el estado de autorización actual; múltiple ClaimResponsesi coincide con los criterios de búsqueda

  • Todos los recursos originales de tu solicitud (reproducidos)

  • Marca de tiempo del momento en que se recopiló la respuesta

Posibles resultados ClaimResponse

Resultado Description (Descripción)
queued La solicitud de autorización aún está pendiente de revisión
complete Se ha tomado la decisión de autorizar (compruebe si disposition está aprobada o denegada)
error Se ha producido un error durante el procesamiento
partial Autorización 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" } } ] }

Respuestas de error

400: solicitud maligna

Se devuelve cuando el formato de la solicitud no es válido o se produce un error en la validación.

{ "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 sin autorización

Se devuelve cuando faltan credenciales de autenticación o no son válidas.

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "forbidden", "diagnostics": "Invalid authorization header" } ] }

403: prohibido

Se devuelve cuando el usuario autenticado no tiene permiso para acceder al recurso solicitado.

{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "exception", "diagnostics": "Insufficient SMART scope permissions." } ] }

400 Cuando no se encuentra ninguno

Se devuelve cuando no ClaimResponse se encuentra ninguna coincidencia con la 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)" }] }

4.15 Tipo de medio no compatible

Se devuelve cuando el encabezado Content-Type no es application/fhir+json.

{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "value", "diagnostics": "Incorrect MIME-type. Update request Content-Type header." }] }

429 Demasiadas solicitudes

Se devuelve cuando se superan los límites de velocidad.

{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "throttled", "diagnostics": "Rate limit exceeded. Please retry after some time." }] }

Reglas de validación

HealthLake realiza una validación exhaustiva de su consulta:

Validación de paquetes

  • Debe ajustarse al perfil del paquete de solicitud de consulta del PAS

  • Bundle.typedebe ser "collection"

  • Debe contener exactamente un recurso de reclamación

  • Todos los recursos a los que se hace referencia deben incluirse en el paquete

Validación de la reclamación

  • Debe ajustarse al perfil de consulta de reclamaciones de PAS

  • Claim.usedebe ser "preauthorization"

  • Claim.statusdebe ser "active"

  • Campos obligatorios:patient,insurer,provider, created

Validación de recursos

  • Todos los recursos deben ajustarse a sus respectivos perfiles de consulta del PAS

  • Deben estar presentes los recursos de apoyo necesarios (paciente, organización aseguradora, organización proveedora)

  • Las referencias cruzadas deben ser válidas y poder resolverse dentro del paquete

Especificaciones de rendimiento

Métrica Especificación
Límite de recuento de recursos 500 recursos por paquete
Límite de tamaño del paquete 5 MB como máximo

Permisos necesarios

Para utilizar la $inquire operación, asegúrese de que su función de IAM tenga:

  • healthlake:InquirePreAuthClaim- Para convocar a la operación

SMART en FHIR Scopes

Alcances mínimos requeridos:

  • SMART v1: user/ClaimResponse.read

  • SMART v2: user/ClaimResponse.s

Notas importantes sobre la implementación

Comportamiento de búsqueda

Al enviar una consulta, HealthLake busca el ClaimResponse uso de:

  • Referencia del paciente a partir de la reclamación ingresada

  • Referencia de la aseguradora a partir de la reclamación ingresada

  • Referencia del proveedor a partir de la reclamación ingresada

  • Fecha de creación a partir de la reclamación ingresada (como filtro de tiempo)

Coincidencias múltiples: si varias ClaimResponses coinciden con sus criterios de búsqueda, HealthLake devuelve todos los resultados coincidentes. Debe usar la ClaimResponse.created marca de tiempo más reciente para identificar el estado más reciente.

Reclamaciones actualizadas

Si has enviado varias actualizaciones a la misma autorización previa (p. ej., Claim v1.1, v1.2 o v1.3), la $inquire operación recuperará la versión ClaimResponse asociada a la versión más reciente en función de los criterios de búsqueda proporcionados.

Operación de solo lectura

La $inquire operación:

  • Recupera el estado de autorización existente

  • Devuelve el más reciente ClaimResponse

  • No modifica ni actualiza ningún recurso

  • No crea nuevos recursos

  • No desencadena un nuevo procesamiento de autorizaciones

Ejemplo de flujo de trabajo

Flujo de trabajo típico de consultas de autorización previa

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"
  • Claim/$submit- Presente una nueva solicitud de autorización previa o actualice una existente

  • Patient/$everything- Recupere datos completos de los pacientes para utilizarlos en el contexto de la autorización previa