ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

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

ChampCardinalitéRôle
status1..1active / cancelled / draft / entered-in-error.
priority0..1stat / normal / deferred (priorité de traitement).
purpose1..*auth-requirements / benefits / discovery / validation.
patient1..1Patient bénéficiaire.
serviced[x]0..1Date ou période de l'acte (Period ou Date).
created1..1Date de création de la requête.
enterer0..1Personne qui a saisi la demande.
provider0..1Prestataire qui effectuera l'acte.
insurer1..1Organisme assureur interrogé.
insurance0..*Référence(s) Coverage en jeu, avec ordre focal.
item0..*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) :

json coverageeligibilityrequest-orth.json
{
  "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).

Ressources liées