

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.

# `$inquire`Operación FHIR para HealthLake
<a name="reference-fhir-operations-inquire"></a>

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)](https://hl7.org/fhir/us/davinci-pas/), que proporciona un flujo de trabajo estandarizado basado en el FHIR para recuperar la decisión de autorización actual.

## Funcionamiento
<a name="inquire-how-it-works"></a>
+ **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**  
`$inquire`es 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
<a name="inquire-api-endpoint"></a>

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

## Estructura de la solicitud
<a name="inquire-request-structure"></a>

### Requisitos del paquete
<a name="inquire-bundle-requirements"></a>

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
<a name="inquire-required-resources"></a>


| 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
<a name="inquire-search-criteria"></a>

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
<a name="inquire-example-request"></a>

```
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
<a name="inquire-response-format"></a>

### Respuesta correcta (200 OK)
<a name="inquire-success-response"></a>

Recibirá un paquete de respuestas a una consulta del PAS que contiene:
+ **ClaimResponse**con el estado de autorización actual; múltiple **ClaimResponse**si 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
<a name="inquire-error-responses"></a>

### 400: solicitud maligna
<a name="inquire-400-error"></a>

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
<a name="inquire-401-error"></a>

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
<a name="inquire-403-error"></a>

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
<a name="inquire-400-none-found"></a>

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
<a name="inquire-415-error"></a>

Se devuelve cuando el encabezado Content-Type no es application/fhir\$1json.

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

### 429 Demasiadas solicitudes
<a name="inquire-429-error"></a>

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
<a name="inquire-validation-rules"></a>

HealthLake realiza una validación exhaustiva de su consulta:

### Validación de paquetes
<a name="inquire-bundle-validation"></a>
+ Debe ajustarse al perfil del paquete de solicitud de consulta del PAS
+ `Bundle.type`debe 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
<a name="inquire-claim-validation"></a>
+ Debe ajustarse al perfil de consulta de reclamaciones de PAS
+ `Claim.use`debe ser `"preauthorization"`
+ `Claim.status`debe ser `"active"`
+ Campos obligatorios:`patient`,`insurer`,`provider`, `created`

### Validación de recursos
<a name="inquire-resource-validation"></a>
+ 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
<a name="inquire-performance-specs"></a>


| 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
<a name="inquire-required-permissions"></a>

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
<a name="inquire-implementation-notes"></a>

### Comportamiento de búsqueda
<a name="inquire-search-behavior"></a>

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
<a name="inquire-updated-claims"></a>

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
<a name="inquire-read-only"></a>

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
<a name="inquire-workflow-example"></a>

**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"
```

## Operaciones de relacionadas
<a name="inquire-related-operations"></a>
+ `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