Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$inquireOpération FHIR pour HealthLake
L'$inquireopération vous permet de vérifier le statut d'une demande d'autorisation préalable soumise précédemment. Cette opération met en œuvre le guide de mise en œuvre du Da Vinci Prior Authorization Support (PAS)
Comment ça marche
-
Soumettre une demande : vous envoyez un bundle FHIR contenant la réclamation que vous souhaitez vérifier et les informations justificatives
-
Rechercher : HealthLake recherche le correspondant ClaimResponse dans votre magasin de données
-
Récupérer : le statut d'autorisation le plus récent est récupéré
-
Répondre : vous recevez une réponse immédiate avec le statut d'autorisation actuel (en file d'attente, approuvé, refusé, etc.)
Note
$inquireest une opération en lecture seule qui permet de récupérer le statut d'autorisation existant. Il ne modifie ni ne met à jour aucune ressource de votre banque de données.
Point de terminaison d’API
POST /datastore/{datastoreId}/r4/Claim/$inquire Content-Type: application/fhir+json
Structure de la demande
Exigences relatives au bundle
Votre demande doit être une ressource FHIR Bundle contenant :
-
Bundle.type : Doit être
"collection" -
Bundle.entry : Doit contenir exactement une ressource Claim avec :
-
use = "preauthorization" -
status = "active"
-
-
Ressources référencées : Toutes les ressources référencées par la réclamation doivent être incluses dans le bundle
Requête par exemple
Les ressources de votre bundle d'entrée servent de modèle de recherche. HealthLake utilise les informations fournies pour localiser le correspondant ClaimResponse.
Ressources requises
| Ressource | Cardinalité | Profil | Description |
|---|---|---|---|
| Réclamation | 1 | Demande de réclamation PAS | L'autorisation préalable que vous demandez |
| Patient | 1 | Patient bénéficiaire du PAS | Informations démographiques sur les patients |
| Organisation (assureur) | 1 | Organisation d'assurance PAS | Compagnie d'assurance |
| Organisation (fournisseur) | 1 | Organisation demandeuse du PAS | Prestataire de santé qui a soumis la demande |
Critères de recherche importants
HealthLake recherche l' ClaimResponse utilisation de :
-
Référence du patient tirée de la réclamation
-
Référence de l'assureur tirée de la réclamation
-
Référence du fournisseur figurant dans la réclamation
-
Date de création à partir de la réclamation (en tant que filtre temporel)
Demandes spécifiques au patient uniquement
Toutes les demandes doivent être liées à un patient en particulier. Les requêtes à l'échelle du système sans identification du patient ne sont pas autorisées.
Exemple de demande
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" } } ] }
Format de la réponse
Réponse positive (200 OK)
Vous recevrez un ensemble de réponses aux demandes de renseignements PAS contenant :
-
ClaimResponseavec le statut d'autorisation actuel ; multiple ClaimResponses'il correspond aux critères de recherche
-
Toutes les ressources originales de votre demande (renvoyées)
-
Horodatage du moment où la réponse a été assemblée
ClaimResponse Résultats possibles
| Outcome | Description |
|---|---|
queued |
La demande d'autorisation est toujours en attente d'examen |
complete |
La décision d'autorisation a été prise (vérifier si elle est disposition approuvée/refusée) |
error |
Une erreur s'est produite lors du traitement |
partial |
Autorisation partielle accordée |
{ "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" } } ] }
Réponses d'erreur
400 Requête erronée
Renvoyé lorsque le format de demande n'est pas valide ou que la validation échoue.
{ "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 Accès non autorisé
Renvoyé lorsque les informations d'authentification sont manquantes ou non valides.
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "forbidden", "diagnostics": "Invalid authorization header" } ] }
403 Forbidden
Renvoyé lorsque l'utilisateur authentifié n'est pas autorisé à accéder à la ressource demandée.
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "exception", "diagnostics": "Insufficient SMART scope permissions." } ] }
400 Quand aucun n'est trouvé
Renvoyé lorsqu'aucune correspondance n' ClaimResponse est trouvée pour la demande.
{ "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 Type de média non pris en charge
Renvoyé lorsque l'en-tête Content-Type n'est pas application/fhir+json.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "value", "diagnostics": "Incorrect MIME-type. Update request Content-Type header." }] }
429 Trop de demandes
Renvoyé lorsque les limites de débit sont dépassées.
{ "resourceType": "OperationOutcome", "issue": [{ "severity": "error", "code": "throttled", "diagnostics": "Rate limit exceeded. Please retry after some time." }] }
Règles de validation
HealthLake effectue une validation complète de votre demande :
Validation du bundle
-
Doit être conforme au profil du bundle PAS Inquiry Request
-
Bundle.typedoit être"collection" -
Doit contenir exactement une ressource de réclamation
-
Toutes les ressources référencées doivent être incluses dans le bundle
Validation des réclamations
-
Doit être conforme au profil PAS Claim Inquiry
-
Claim.usedoit être"preauthorization" -
Claim.statusdoit être"active" -
Champs obligatoires :
patientinsurer,provider,created
Validation des ressources
-
Toutes les ressources doivent être conformes à leurs profils d'enquête PAS respectifs
-
Les ressources de soutien requises doivent être présentes (patient, organisme assureur, organisme fournisseur)
-
Les références croisées doivent être valides et résolvables dans le bundle
Spécifications de performance
| Métrique | Spécification de |
|---|---|
| Limite du nombre de ressources | 500 ressources par bundle |
| Limite de taille du bundle | 5 Mo maximum |
Autorisations requises
Pour utiliser l'$inquireopération, assurez-vous que votre rôle IAM possède les éléments suivants :
-
healthlake:InquirePreAuthClaim- Pour appeler l'opération
SMART sur les oscilloscopes FHIR
Étendue minimale requise :
-
SMART version 1 :
user/ClaimResponse.read -
SMART v2 :
user/ClaimResponse.s
Remarques de mise en œuvre importantes
Comportement de recherche
Lorsque vous soumettez une demande, recherchez l' HealthLake utilisateur à l' ClaimResponse aide de :
-
Référence du patient tirée de la demande d'entrée
-
Référence de l'assureur tirée de la demande d'entrée
-
Référence du fournisseur à partir de la demande d'entrée
-
Date de création à partir de la demande d'entrée (en tant que filtre temporel)
Correspondances multiples : si plusieurs ClaimResponses correspondent à vos critères de recherche, HealthLake renvoie tous les résultats correspondants. Vous devez utiliser l'ClaimResponse.createdhorodatage le plus récent pour identifier le dernier statut.
Demandes mises à jour
Si vous avez soumis plusieurs mises à jour pour la même autorisation préalable (par exemple, Claim v1.1, v1.2, v1.3), l'$inquireopération récupérera la version ClaimResponse associée à la version la plus récente en fonction des critères de recherche fournis.
Fonctionnement en lecture seule
L'$inquireopération :
-
Récupère le statut d'autorisation existant
-
Renvoie le plus récent ClaimResponse
-
Ne modifie ni ne met à jour aucune ressource
-
Ne crée pas de nouvelles ressources
-
Ne déclenche pas de nouveau traitement d'autorisation
Exemple de flux de travail
Flux de travail typique de demande d'autorisation préalable
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"
Opérations liées
-
Claim/$submit- Soumettre une nouvelle demande d'autorisation préalable ou mettre à jour une demande existante -
Patient/$everything- Récupérez les données complètes du patient pour le contexte de l'autorisation préalable