Claim — Demande de remboursement
La ressource qui porte une demande de remboursement ou de pré-autorisation vers un assureur santé. Successeur FHIR de l'X12 837.
Objet de la ressource
Claim porte une demande envoyée par un provider (établissement, professionnel) à un payor (assureur), pour :
- obtenir le remboursement d'actes ou de produits déjà fournis (
use=claim) ; - obtenir une pré-autorisation avant l'acte (
use=preauthorization) ; - obtenir une pré-détermination des montants potentiels sans engagement (
use=predetermination).
La réponse de l'assureur arrive sous forme de ClaimResponse ; les bénéficiaires (patients) reçoivent en parallèle l'ExplanationOfBenefit (EOB). Claim est conçu pour modéliser toutes les variantes : claim institutionnel (hôpital), professionnel (cabinet médical), dentaire, optique, pharmacie, oral surgery, vision.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants techniques (n° de claim). |
status | code | 1..1 | active, cancelled, draft, entered-in-error. |
type | CodeableConcept | 1..1 | Catégorie de claim : institutional, professional, oral, pharmacy, vision. |
subType | CodeableConcept | 0..1 | Sous-type (typage plus fin selon le payor). |
use | code | 1..1 | claim, preauthorization, predetermination. |
patient | Reference(Patient) | 1..1 | Patient bénéficiaire. |
billablePeriod | Period | 0..1 | Période de service pour les claims institutionnels. |
created | dateTime | 1..1 | Date d'émission du claim. |
insurer | Reference(Organization) | 0..1 | Destinataire (assureur). |
provider | Reference(Practitioner | PractitionerRole | Organization) | 1..1 | Émetteur (provider). |
priority | CodeableConcept | 1..1 | Priorité de traitement (stat, normal, deferred). |
related | BackboneElement[] | 0..* | Claims liés (correction, complément). |
payee | BackboneElement | 0..1 | Type de bénéficiaire du paiement (provider, subscriber…). |
careTeam | BackboneElement[] | 0..* | Équipe soignante associée au claim. |
diagnosis | BackboneElement[] | 0..* | Diagnostics justifiant les actes (CIM-10). |
procedure | BackboneElement[] | 0..* | Actes réalisés (CCAM, CPT). |
insurance | BackboneElement[] | 1..* | Coverage(s) applicable(s). Un est focal=true. |
accident | BackboneElement | 0..1 | Contexte d'accident (date, type). |
item | BackboneElement[] | 0..* | Lignes facturables (acte, produit, séance). |
total | Money | 0..1 | Total demandé. |
Use cases : claim, preauthorization, predetermination
| use | Quand | Réponse attendue |
|---|---|---|
claim | Acte réalisé, demande de remboursement | ClaimResponse avec décision payment ✓ ou rejet, EOB envoyé au patient |
preauthorization | Avant un acte coûteux (chirurgie, IRM) pour vérifier la prise en charge | ClaimResponse avec preAuthRef + autorisation / refus + montant pré-approuvé |
predetermination | Estimation indicative avant engagement (rarement contractuel) | ClaimResponse non contraignant avec les montants estimés |
Exemple JSON
Claim professionnel pour visite de cabinet (CPT 99213) facturée
120 USD à Aetna pour Patient « example », diagnostic otite moyenne
(CIM-10 H66.90) :
{
"resourceType": "Claim",
"id": "professional-2026-001",
"status": "active",
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/claim-type",
"code": "professional",
"display": "Professional"
}]
},
"use": "claim",
"patient": { "reference": "Patient/example" },
"created": "2026-05-14T15:00:00+01:00",
"insurer": { "reference": "Organization/aetna" },
"provider": { "reference": "Practitioner/dr-jones" },
"priority": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/processpriority",
"code": "normal"
}]
},
"payee": {
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/payeetype",
"code": "provider"
}]
}
},
"careTeam": [{
"sequence": 1,
"provider": { "reference": "Practitioner/dr-jones" },
"role": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/claimcareteamrole",
"code": "primary"
}]
}
}],
"diagnosis": [{
"sequence": 1,
"diagnosisCodeableConcept": {
"coding": [{
"system": "http://hl7.org/fhir/sid/icd-10-cm",
"code": "H66.90",
"display": "Otitis media, unspecified"
}]
}
}],
"insurance": [{
"sequence": 1,
"focal": true,
"coverage": { "reference": "Coverage/primary-aetna" }
}],
"item": [{
"sequence": 1,
"careTeamSequence": [1],
"diagnosisSequence": [1],
"productOrService": {
"coding": [{
"system": "http://www.ama-assn.org/go/cpt",
"code": "99213",
"display": "Office or outpatient visit, established patient, low complexity"
}]
},
"servicedDate": "2026-05-14",
"unitPrice": {
"value": 120.00,
"currency": "USD"
},
"net": {
"value": 120.00,
"currency": "USD"
}
}],
"total": {
"value": 120.00,
"currency": "USD"
}
} type=professional+use=claim: facturation d'un acte de cabinet déjà réalisé.insurance[0].focal=true: payment demandé sur cette Coverage.diagnosis[0]: CIM-10 H66.90, otite moyenne.item[0].productOrService: CPT99213= visite cabinet patient connu, complexité faible.item[0].diagnosisSequence=[1]: pointe vers le diagnostic défini en position 1.total=120 USD.
API REST
POST /Claim— soumettre un nouveau claim.GET /Claim?patient=Patient/example&_sort=-created— claims d'un patient triés par date.GET /Claim?identifier=...&_include=Claim:patient&_include=Claim:provider— claim + parties.POST /Claim/$submit— opération composite pour soumettre en bundle.GET /Claim?use=preauthorization&status=active— pré-autorisations en cours.GET /Claim?_revinclude=ClaimResponse:request— claim + réponse.
Profils
| Profil | Régulateur | Particularité |
|---|---|---|
| Da Vinci PAS Claim | HL7 Da Vinci Project | Prior Authorization Support. Contraint use=preauthorization et impose les éléments cliniques. |
| Da Vinci CRD Claim | HL7 Da Vinci Project | Coverage Requirements Discovery. Couplé à un workflow CDS Hooks. |
| CARIN BB Claim | HL7 CARIN Alliance | Pour Blue Button 2.0 / CMS Patient Access API. |
| NCPDP Pharmacy Claim | NCPDP | Format pharmacie US (BIN, PCN, NDC). |
Pièges courants
- Aucun
insurance.focal=true— sans Coverage focale, le payor ne sait pas où adresser le paiement. Exactement unfocal=truepar Claim. diagnosisSequencepointant dans le vide — chaqueitem.diagnosisSequencedoit référencer unediagnosis[].sequenceexistant.- Mélange
claimetpreauthorization— un même Claim ne peut pas servir aux deux usages. Émettre une preauthorization avant l'acte, puis un claim séparé après. - Total incohérent —
totaldoit égaler la somme desitem[].net. Les serveurs stricts (Pega Smart Claims, ProviderX) rejettent sinon. - Diagnosis manquant — sans
diagnosis, le payor ne peut pas vérifier la cohérence acte/indication, donc rejet. - Provider pas dans le réseau — un Claim depuis un Practitioner non référencé dans le réseau de la Coverage produira un ClaimResponse
denied. Vérifier en amont via CoverageEligibilityResponse.
Ressources liées
- ClaimResponse — réponse de l'assureur.
- Coverage — référencée par
insurance. - ExplanationOfBenefit — relevé patient post-claim.
- CoverageEligibilityRequest — vérification d'éligibilité en amont.
- PaymentNotice / PaymentReconciliation — flux paiement et rapprochement.
- Patient — sujet du claim.
- Organization — payor / provider.
- X12 837 — équivalent legacy.