

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `$inquire`Operazione FHIR per HealthLake
<a name="reference-fhir-operations-inquire"></a>

L'`$inquire`operazione consente di verificare lo stato di una richiesta di autorizzazione preventiva inviata in precedenza. Questa operazione implementa la [Guida all'implementazione del Da Vinci Prior Authorization Support (PAS)](https://hl7.org/fhir/us/davinci-pas/), che fornisce un flusso di lavoro standardizzato basato su FHIR per recuperare l'attuale decisione di autorizzazione.

## Come funziona
<a name="inquire-how-it-works"></a>
+ **Invia richiesta**: invii un pacchetto FHIR contenente il reclamo che desideri verificare e le informazioni di supporto
+ **Cerca**: HealthLake cerca il corrispondente ClaimResponse nel tuo archivio dati
+ **Recupera**: viene recuperato lo stato di autorizzazione più recente
+ **Rispondi**: ricevi una risposta immediata con lo stato dell'autorizzazione corrente (in coda, approvata, negata, ecc.)

**Nota**  
`$inquire`è un'**operazione di sola lettura** che recupera lo stato di autorizzazione esistente. Non modifica o aggiorna alcuna risorsa nell'archivio dati.

## Endpoint API
<a name="inquire-api-endpoint"></a>

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

## Struttura della richiesta
<a name="inquire-request-structure"></a>

### Requisiti del pacchetto
<a name="inquire-bundle-requirements"></a>

La tua richiesta deve essere una risorsa FHIR Bundle con:
+ **Bundle.type: Deve** essere `"collection"`
+ **bundle.entry****: deve contenere esattamente una risorsa Claim con:**
  + `use = "preauthorization"`
  + `status = "active"`
+ **Risorse referenziate**: tutte le risorse a cui fa riferimento il reclamo devono essere incluse nel pacchetto

**Interrogazione per esempio**  
Le risorse del tuo pacchetto di input fungono da modello di ricerca. HealthLake utilizza le informazioni fornite per individuare il corrispondente ClaimResponse.

### Risorse obbligatorie
<a name="inquire-required-resources"></a>


| Risorsa | Cardinalità | Profilo | Description | 
| --- | --- | --- | --- | 
| Reclamo | 1 | Richiesta di reclamo PAS | L'autorizzazione preventiva su cui stai chiedendo informazioni | 
| La paziente | 1 | Paziente beneficiario PAS | Informazioni demografiche sui pazienti | 
| Organizzazione (assicuratore) | 1 | Organizzazione assicurativa PAS | Compagnia assicurativa | 
| Organizzazione (fornitore) | 1 | Organizzazione richiedente PAS | Operatore sanitario che ha inviato la richiesta | 

### Criteri di ricerca importanti
<a name="inquire-search-criteria"></a>

HealthLake ricerche per l' ClaimResponse utilizzo:
+ **Riferimento del paziente** riportato nel reclamo
+ **Riferimento dell'assicuratore** riportato nel reclamo
+ **Riferimento al fornitore** riportato nel reclamo
+ **Data di creazione** del reclamo (come filtro temporale)

**Solo domande specifiche per il paziente**  
Tutte le richieste devono essere legate a un paziente specifico. Non sono consentite domande a livello di sistema senza identificazione del paziente.

## Richiesta di esempio
<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 della risposta
<a name="inquire-response-format"></a>

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

Riceverai un pacchetto PAS Inquiry Response contenente:
+ **ClaimResponse**con lo stato di autorizzazione corrente; multiplo **ClaimResponse**se corrisponde ai criteri di ricerca
+ Tutte le risorse originali contenute nella tua richiesta (riportate all'indietro)
+ Timestamp di quando è stata assemblata la risposta

**Possibili esiti ClaimResponse**  



| Outcome | Description | 
| --- | --- | 
| queued | La richiesta di autorizzazione è ancora in attesa di revisione | 
| complete | La decisione di autorizzazione è stata presa (verifica se disposition approvata/negata) | 
| error | Si è verificato un errore durante l'elaborazione | 
| partial | Autorizzazione parziale concessa | 

```
{  
  "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"  
      }  
    }  
  ]  
}
```

## Risposte agli errori
<a name="inquire-error-responses"></a>

### 400 Richiesta non valida
<a name="inquire-400-error"></a>

Restituito quando il formato della richiesta non è valido o la convalida fallisce.

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

Restituito quando le credenziali di autenticazione sono mancanti o non valide.

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

### 403 Non consentito
<a name="inquire-403-error"></a>

Restituito quando l'utente autenticato non è autorizzato ad accedere alla risorsa richiesta.

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

### 400 Quando non ne viene trovato nessuno
<a name="inquire-400-none-found"></a>

Restituito quando non ClaimResponse viene trovata alcuna corrispondenza per la richiesta.

```
{  
  "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.1.5 Tipo di supporto non supportato
<a name="inquire-415-error"></a>

Restituito quando l'intestazione Content-Type non è application/fhir\$1json.

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

### 429 Troppe richieste
<a name="inquire-429-error"></a>

Restituito quando vengono superati i limiti di velocità.

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

## Regole di convalida
<a name="inquire-validation-rules"></a>

HealthLake esegue una convalida completa della richiesta:

### Convalida del pacchetto
<a name="inquire-bundle-validation"></a>
+ Deve essere conforme al profilo PAS Inquiry Request Bundle
+ `Bundle.type`deve essere `"collection"`
+ Deve contenere esattamente una risorsa Claim
+ Tutte le risorse referenziate devono essere incluse nel pacchetto

### Convalida del reclamo
<a name="inquire-claim-validation"></a>
+ Deve essere conforme al profilo PAS Claim Inquiry
+ `Claim.use`deve essere `"preauthorization"`
+ `Claim.status`deve essere `"active"`
+ Campi obbligatori:`patient`,`insurer`,`provider`, `created`

### Convalida delle risorse
<a name="inquire-resource-validation"></a>
+ Tutte le risorse devono essere conformi ai rispettivi profili di richiesta PAS
+ Devono essere presenti le risorse di supporto necessarie (paziente, organizzazione assicurativa, organizzazione fornitrice)
+ I riferimenti incrociati devono essere validi e risolvibili all'interno del pacchetto

## Specifiche prestazionali
<a name="inquire-performance-specs"></a>


| Metrica | Specifiche | 
| --- | --- | 
| Limite di conteggio delle risorse | 500 risorse per pacchetto | 
| Limite di dimensione del pacchetto | Massimo 5 MB | 

## Autorizzazioni richieste
<a name="inquire-required-permissions"></a>

Per utilizzare l'`$inquire`operazione, assicurati che il tuo ruolo IAM abbia:
+ `healthlake:InquirePreAuthClaim`- Per richiamare l'operazione

**SMART su FHIR Scopes**  
**Ambiti minimi richiesti:**
+ **SMART v1:** `user/ClaimResponse.read`
+ **SMART versione 2:** `user/ClaimResponse.s`

## Note importanti sull'implementazione
<a name="inquire-implementation-notes"></a>

### Comportamento di ricerca
<a name="inquire-search-behavior"></a>

Quando invii una richiesta, HealthLake cerca ClaimResponse utilizzando:
+ **Riferimento del paziente** riportato nel reclamo inserito
+ **Riferimento dell'assicuratore riportato** nella Richiesta inserita
+ **Riferimento al fornitore** riportato nel reclamo inserito
+ **Data di creazione** in base alla richiesta di immissione (come filtro temporale)

**Corrispondenze** multiple: se più ClaimResponses corrispondono ai criteri di ricerca, HealthLake restituisce tutti i risultati corrispondenti. È necessario utilizzare il `ClaimResponse.created` timestamp più recente per identificare lo stato più recente.

### Reclami aggiornati
<a name="inquire-updated-claims"></a>

Se hai inviato più aggiornamenti alla stessa autorizzazione preventiva (ad esempio, Claim v1.1, v1.2, v1.3), l'`$inquire`operazione recupererà quelli ClaimResponse associati alla **versione più recente** in base ai criteri di ricerca forniti.

### Operazione di sola lettura
<a name="inquire-read-only"></a>

L'`$inquire`operazione:
+ Recupera **lo** stato di autorizzazione esistente
+ **Restituisce** il più recente ClaimResponse
+ **Non** modifica o aggiorna alcuna risorsa
+ **Non** crea nuove risorse
+ **Non** attiva una nuova elaborazione delle autorizzazioni

## Esempio di workflow
<a name="inquire-workflow-example"></a>

**Tipico flusso di lavoro di richiesta di autorizzazione preventiva**  


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

## Operazioni correlate
<a name="inquire-related-operations"></a>
+ `Claim/$submit`- Invia una nuova richiesta di autorizzazione preventiva o aggiornane una esistente
+ `Patient/$everything`- Recupera i dati completi del paziente per il contesto di autorizzazione preventiva