View a markdown version of this page

$inquireOperazione FHIR per HealthLake - AWS HealthLake

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à.

$inquireOperazione FHIR per HealthLake

L'$inquireoperazione 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), che fornisce un flusso di lavoro standardizzato basato su FHIR per recuperare l'attuale decisione di autorizzazione.

Come funziona

  • 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

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

Struttura della richiesta

Requisiti del pacchetto

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

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

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

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

Risposta riuscita (200 OK)

Riceverai un pacchetto PAS Inquiry Response contenente:

  • ClaimResponsecon lo stato di autorizzazione corrente; multiplo ClaimResponsese 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

400 Richiesta non valida

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

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

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

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

Restituito quando l'intestazione Content-Type non è application/fhir+json.

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

429 Troppe richieste

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

HealthLake esegue una convalida completa della richiesta:

Convalida del pacchetto

  • Deve essere conforme al profilo PAS Inquiry Request Bundle

  • Bundle.typedeve essere "collection"

  • Deve contenere esattamente una risorsa Claim

  • Tutte le risorse referenziate devono essere incluse nel pacchetto

Convalida del reclamo

  • Deve essere conforme al profilo PAS Claim Inquiry

  • Claim.usedeve essere "preauthorization"

  • Claim.statusdeve essere "active"

  • Campi obbligatori:patient,insurer,provider, created

Convalida delle risorse

  • 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

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

Autorizzazioni richieste

Per utilizzare l'$inquireoperazione, 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

Comportamento di ricerca

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

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

Operazione di sola lettura

L'$inquireoperazione:

  • 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

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