CoverageEligibilityRequest — détail
Demande temps-réel adressée à un assureur pour vérifier la couverture d'un patient avant un acte : préadmission hospitalière, prescription d'un dispositif coûteux (DM remboursable), prothèse, médicament onéreux. Réponse obligatoire par CoverageEligibilityResponse. Équivalent FHIR du X12 270 (US claims/eligibility).
Purpose types — 4 modes
Le champ purpose (1..*) précise ce que le requesteur veut savoir :
auth-requirements— quelles autorisations préalables sont nécessaires ?benefits— quel niveau de remboursement pour cet acte ?discovery— quelles couvertures existent pour ce patient ?validation— la couverture est-elle active à la date prévue ?
Plusieurs purposes peuvent être combinés dans une seule requête pour minimiser les round-trips.
Champs clés
| Champ | Cardinalité | Rôle |
|---|---|---|
status | 1..1 | active / cancelled / draft / entered-in-error. |
priority | 0..1 | stat / normal / deferred (priorité de traitement). |
purpose | 1..* | auth-requirements / benefits / discovery / validation. |
patient | 1..1 | Patient bénéficiaire. |
serviced[x] | 0..1 | Date ou période de l'acte (Period ou Date). |
created | 1..1 | Date de création de la requête. |
enterer | 0..1 | Personne qui a saisi la demande. |
provider | 0..1 | Prestataire qui effectuera l'acte. |
insurer | 1..1 | Organisme assureur interrogé. |
insurance | 0..* | Référence(s) Coverage en jeu, avec ordre focal. |
item | 0..* | Actes ou produits à vérifier (CCAM, GHS, ATC). |
Real-time vs batch
Aux US et en France, deux modes de fonctionnement coexistent :
- Real-time — réponse synchrone < 1 sec. Utilisé en préadmission, à la pharmacie au comptoir. SLA typique X12 270/271 : 99.5% des réponses < 1s.
- Batch — réponse asynchrone par lots (typiquement nuit). Utilisé pour les vérifications de stock client préadmission planifiées.
FHIR ne prescrit pas le mode mais les serveurs implémentent généralement les deux via priority.
Exemple : préadmission orthopédie
Hôpital Bichat demande à CNAM si la prothèse de hanche programmée pour Marie DURAND est couverte (avec ALD) :
{
"resourceType": "CoverageEligibilityRequest",
"id": "elig-req-orthopedie-marie-887",
"status": "active",
"priority": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/processpriority",
"code": "normal"
}]
},
"purpose": ["validation", "benefits"],
"patient": { "reference": "Patient/marie-durand-887" },
"servicedDate": "2026-06-15",
"created": "2026-05-19T17:30:00+02:00",
"enterer": { "reference": "Practitioner/admin-hosp-bichat" },
"provider": { "reference": "PractitionerRole/orth-bichat-paris" },
"insurer": { "reference": "Organization/cnam-paris-75" },
"facility": { "reference": "Location/hopital-bichat" },
"supportingInfo": [{
"sequence": 1,
"information": { "reference": "Condition/coxarthrose-droite-887" },
"appliesToAll": true
}],
"insurance": [{
"focal": true,
"coverage": { "reference": "Coverage/cov-cnam-marie-887" },
"businessArrangement": "ALD30-coxarthrose-887"
}],
"item": [{
"category": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/ex-benefitcategory",
"code": "47",
"display": "Hospital - inpatient"
}]
},
"productOrService": {
"coding": [{
"system": "http://www.ameli.fr/ccam",
"code": "NEKA020",
"display": "Arthroplastie hanche par prothese totale"
}]
},
"provider": { "reference": "Practitioner/dr-orthopediste-bichat" },
"quantity": { "value": 1 },
"unitPrice": { "value": 7500.00, "currency": "EUR" },
"facility": { "reference": "Location/hopital-bichat-bloc-3" },
"diagnosis": [{
"diagnosisCodeableConcept": {
"coding": [{
"system": "http://hl7.org/fhir/sid/icd-10",
"code": "M16.0",
"display": "Coxarthrose primaire bilaterale"
}]
}
}]
}]
} Pièges courants
- purpose multiple non géré côté backend — beaucoup d'assureurs ne supportent qu'un purpose à la fois. Tester avant prod.
- item sans diagnosis — pour les actes ALD, le diagnostic est obligatoire (la prise en charge à 100% dépend du diagnostic).
- insurance.focal absent — en multi-couverture, focal=true indique le primaire. Sans cela, ambiguïté de calcul.
- serviced absent — sans date prévue, l'assureur ne peut vérifier la couverture (la couverture évolue avec le temps).