Claim — Reimbursement request
The resource that carries a reimbursement or pre-authorization request from provider to payor. FHIR successor of X12 837.
Purpose of the resource
Claim carries a request sent by a provider (facility, professional) to a payor (insurer), in order to:
- obtain reimbursement for already-delivered services or products (
use=claim); - obtain pre-authorization before the act (
use=preauthorization); - obtain a predetermination of potential amounts without commitment (
use=predetermination).
The insurer responds with a ClaimResponse; beneficiaries (patients) receive in parallel the ExplanationOfBenefit (EOB). Claim is designed to model every variant: institutional claim (hospital), professional (medical office), dental, optical, pharmacy, oral surgery, vision.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | Technical identifiers (claim number). |
status | code | 1..1 | active, cancelled, draft, entered-in-error. |
type | CodeableConcept | 1..1 | Claim category: institutional, professional, oral, pharmacy, vision. |
subType | CodeableConcept | 0..1 | Subtype (finer typing per payor). |
use | code | 1..1 | claim, preauthorization, predetermination. |
patient | Reference(Patient) | 1..1 | Beneficiary patient. |
billablePeriod | Period | 0..1 | Service period for institutional claims. |
created | dateTime | 1..1 | Claim issue date. |
insurer | Reference(Organization) | 0..1 | Recipient (payor). |
provider | Reference(Practitioner | PractitionerRole | Organization) | 1..1 | Submitter (provider). |
priority | CodeableConcept | 1..1 | Processing priority (stat, normal, deferred). |
related | BackboneElement[] | 0..* | Related claims (correction, add-on). |
payee | BackboneElement | 0..1 | Payment recipient type (provider, subscriber…). |
careTeam | BackboneElement[] | 0..* | Care team associated with the claim. |
diagnosis | BackboneElement[] | 0..* | Diagnoses justifying the services (ICD-10). |
procedure | BackboneElement[] | 0..* | Performed procedures (CCAM, CPT). |
insurance | BackboneElement[] | 1..* | Applicable Coverage(s). One is focal=true. |
accident | BackboneElement | 0..1 | Accident context (date, type). |
item | BackboneElement[] | 0..* | Billable line items (procedure, product, session). |
total | Money | 0..1 | Total requested. |
Use cases: claim, preauthorization, predetermination
| use | When | Expected response |
|---|---|---|
claim | Service rendered, reimbursement request | ClaimResponse with payment ✓ or denial, EOB to patient |
preauthorization | Before a costly act (surgery, MRI) to verify coverage | ClaimResponse with preAuthRef + authorisation/denial + pre-approved amount |
predetermination | Indicative estimate before commitment (rarely contractual) | Non-binding ClaimResponse with estimated amounts |
JSON example
Professional claim for an office visit (CPT 99213) billed at USD 120
to Aetna for Patient "example", diagnosis otitis media (ICD-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: billing of an already-delivered office service.insurance[0].focal=true: payment requested on this Coverage.diagnosis[0]: ICD-10 H66.90, otitis media.item[0].productOrService: CPT99213= established-patient office visit, low complexity.item[0].diagnosisSequence=[1]: points to the diagnosis defined at position 1.total=USD 120.
REST API
POST /Claim— submit a new claim.GET /Claim?patient=Patient/example&_sort=-created— patient claims sorted by date.GET /Claim?identifier=...&_include=Claim:patient&_include=Claim:provider— claim + parties.POST /Claim/$submit— composite operation to submit as bundle.GET /Claim?use=preauthorization&status=active— pending pre-authorisations.GET /Claim?_revinclude=ClaimResponse:request— claim + response.
Profiles
| Profile | Regulator | Specifics |
|---|---|---|
| Da Vinci PAS Claim | HL7 Da Vinci Project | Prior Authorization Support. Constrains use=preauthorization and mandates clinical attachments. |
| Da Vinci CRD Claim | HL7 Da Vinci Project | Coverage Requirements Discovery. Coupled with a CDS Hooks workflow. |
| CARIN BB Claim | HL7 CARIN Alliance | For Blue Button 2.0 / CMS Patient Access API. |
| NCPDP Pharmacy Claim | NCPDP | US pharmacy format (BIN, PCN, NDC). |
Common pitfalls
- No
insurance.focal=true— without a focal Coverage, the payor cannot know where to direct payment. Exactly onefocal=trueper Claim. diagnosisSequencepointing to void — eachitem.diagnosisSequencemust reference an existingdiagnosis[].sequence.- Mixing
claimandpreauthorization— one Claim cannot serve both uses. Issue a preauthorization before the act, then a separate claim afterwards. - Inconsistent total —
totalmust equal the sum ofitem[].net. Strict servers (Pega Smart Claims, ProviderX) reject otherwise. - Missing diagnosis — without
diagnosis, the payor cannot validate procedure-to-indication consistency, hence denial. - Provider out of network — a Claim from a Practitioner not in the Coverage network yields a
deniedClaimResponse. Verify upstream via CoverageEligibilityResponse.
Related resources
- ClaimResponse — insurer's response.
- Coverage — referenced by
insurance. - ExplanationOfBenefit — patient post-claim statement.
- CoverageEligibilityRequest — upstream eligibility check.
- PaymentNotice / PaymentReconciliation — payment flow and reconciliation.
- Patient — claim subject.
- Organization — payor / provider.
- X12 837 — legacy equivalent.