ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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

FieldTypeCardinalityRole
identifierIdentifier[]0..*Technical identifiers (claim number).
statuscode1..1active, cancelled, draft, entered-in-error.
typeCodeableConcept1..1Claim category: institutional, professional, oral, pharmacy, vision.
subTypeCodeableConcept0..1Subtype (finer typing per payor).
usecode1..1claim, preauthorization, predetermination.
patientReference(Patient)1..1Beneficiary patient.
billablePeriodPeriod0..1Service period for institutional claims.
createddateTime1..1Claim issue date.
insurerReference(Organization)0..1Recipient (payor).
providerReference(Practitioner | PractitionerRole | Organization)1..1Submitter (provider).
priorityCodeableConcept1..1Processing priority (stat, normal, deferred).
relatedBackboneElement[]0..*Related claims (correction, add-on).
payeeBackboneElement0..1Payment recipient type (provider, subscriber…).
careTeamBackboneElement[]0..*Care team associated with the claim.
diagnosisBackboneElement[]0..*Diagnoses justifying the services (ICD-10).
procedureBackboneElement[]0..*Performed procedures (CCAM, CPT).
insuranceBackboneElement[]1..*Applicable Coverage(s). One is focal=true.
accidentBackboneElement0..1Accident context (date, type).
itemBackboneElement[]0..*Billable line items (procedure, product, session).
totalMoney0..1Total requested.

Use cases: claim, preauthorization, predetermination

useWhenExpected response
claimService rendered, reimbursement requestClaimResponse with payment ✓ or denial, EOB to patient
preauthorizationBefore a costly act (surgery, MRI) to verify coverageClaimResponse with preAuthRef + authorisation/denial + pre-approved amount
predeterminationIndicative 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):

json claim-professional.json
{
  "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: CPT 99213 = 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

ProfileRegulatorSpecifics
Da Vinci PAS ClaimHL7 Da Vinci ProjectPrior Authorization Support. Constrains use=preauthorization and mandates clinical attachments.
Da Vinci CRD ClaimHL7 Da Vinci ProjectCoverage Requirements Discovery. Coupled with a CDS Hooks workflow.
CARIN BB ClaimHL7 CARIN AllianceFor Blue Button 2.0 / CMS Patient Access API.
NCPDP Pharmacy ClaimNCPDPUS pharmacy format (BIN, PCN, NDC).

Common pitfalls

  • No insurance.focal=true — without a focal Coverage, the payor cannot know where to direct payment. Exactly one focal=true per Claim.
  • diagnosisSequence pointing to void — each item.diagnosisSequence must reference an existing diagnosis[].sequence.
  • Mixing claim and preauthorization — one Claim cannot serve both uses. Issue a preauthorization before the act, then a separate claim afterwards.
  • Inconsistent totaltotal must equal the sum of item[].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 denied ClaimResponse. Verify upstream via CoverageEligibilityResponse.
  • 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.