Oral
Datasets
An oral claim is a dental bill (ADA Dental Claim Form) from a dentist, dental group or dental clinic, coded in CDT and located on teeth, surfaces and areas of the mouth. It is built like a professional claim: adjudication happens on the lines, and the claim row carries totals. CARIN Blue Button STU 2.1.0 profiles it twice: the financial profile with amounts for Patient Access, and its parent Basis profile without amounts for Provider Access and Payer-to-Payer. You deliver one pair of files.
| Dataset | CARIN BB STU 2.1.0 target profile |
|---|---|
claims_oral | C4BB ExplanationOfBenefit Oral, served without amounts as Oral Basis |
claims_oral_lines | ExplanationOfBenefit.item of the same profile |
Both files carry every column from Explanation of Benefit. This page lists what the oral profile adds and where it tightens a shared rule.
claims_oral
One row per dental claim.
Claim
| Column | Required | Format / values | Example |
|---|---|---|---|
claim_received_date | Recommended | date the payer received the claim | 2026-03-18 |
service_facility_npi | If not the billing provider's place | 10 digits; key from organizations; where the service was rendered when it is neither the billing provider nor the patient's home | 9999999993 |
medical_record_number | If available | the provider's medical record number on the claim | MR-88213 |
patient_account_number | If available | the provider's patient account number on the claim | ACC-530118 |
orthodontics_months | If orthodontics | decimal; months of orthodontic treatment, from the ADA claim form. Send 1 when your system only holds a yes/no orthodontics flag | 24 |
prosthesis_replacement | If a prosthesis | true when the prosthesis replaces an existing one, false when it is the first | true |
missing_tooth_numbers | If a prosthesis | teeth already missing, ;-separated tooth numbers ADAUniversalNumberingSystem | 18;19;30 |
billing_provider_npimay resolve to a Practitioner or an Organization: a solo dentist bills under their own NPI, a group under the practice's.- CARIN carries the orthodontics indicator as a quantity, not a flag, so
orthodontics_monthsis a number.prosthesis_replacementis the yes/no from the ADA form's "replacement of prosthesis" item. - The ADA tooth numbering and CDT procedure codes are licensed. Tooth numbers and surfaces are small enough to be expanded here; the CDT value set is linked to the IG.
Care team
One column per role, bound to C4BBClaimProfessionalAndNonClinicianCareTeamRole, the same set as professional claims.
| Column | Required | Format / values | Example |
|---|---|---|---|
rendering_provider_npi | Recommended | 10 digits; key from practitioners; the treating dentist | 9999999991 |
rendering_provider_taxonomy | If available | NUCC taxonomy code the dentist billed under Healthcare Provider Taxonomy | 122300000X |
referring_provider_npi | If available | 10 digits; key from practitioners | |
supervising_provider_npi | If available | 10 digits; key from practitioners | |
primary_provider_npi | If available | 10 digits; key from practitioners | |
purchased_service_provider_npi | If available | 10 digits; key from practitioners or organizations; a dental laboratory, for example |
- Rendering, referring, supervising and primary must resolve to a Practitioner. Purchased service may be either.
Diagnoses
Optional on dental claims, unlike every other type. When sent, they follow the professional shape: aligned ;-separated lists with principal first.
| Column | Required | Format / values | Example |
|---|---|---|---|
diagnosis_codes | If available | ICD-10-CM codes, ;-separated CDCICD910CMDiagnosisCodes | K02.52 |
diagnosis_types | If diagnosis_codes | principal, secondary, aligned with diagnosis_codes C4BBClaimProfessionalAndNonClinicianDiagnosisType | principal |
diagnosis_code_system | If not ICD-10-CM | http://hl7.org/fhir/sid/icd-9-cm for services before October 2015 (ICD-10-CM assumed when empty) |
Adjudication
Oral is the one claim type that carries the benefit payment status at both levels and requires the rendering network status.
| Column | Required | Format / values | Example |
|---|---|---|---|
benefit_payment_status | Yes | innetwork, outofnetwork, other; how the claim as a whole was paid against the member's dental benefit C4BBPayerBenefitPaymentStatus | innetwork |
rendering_network_status | Yes | innetwork, outofnetwork; whether the treating dentist had a contract with the plan on the date of service C4BBPayerProviderNetworkStatus | innetwork |
billing_network_status | Recommended | innetwork, outofnetwork; the same for the billing provider | innetwork |
- Each line also carries its own
benefit_payment_status. The claim-level value summarizes the claim; where the lines differ, sendotheron the claim and the real value on each line. payment_datefrom the shared columns is must-support here. Send it whenever the claim was paid.
Amounts
The shared amount columns on the claim row become the claim totals, which are mandatory: at least one must be filled. The oral profile has no claim-level adjudication amounts; line amounts are mandatory, see below.
Set by Payerbox
| Element | Value |
|---|---|
type | oral |
use | claim |
meta.profile | the Oral canonical with version 2.1.0 |
identifier.type | uc |
insurance.focal | true on the coverage from coverage_id |
careTeam.sequence, supportingInfo.sequence, diagnosis.sequence, item.informationSequence | numbered from the columns and list positions |
claims_oral_lines
One row per dental procedure. Each line names the procedure, where it was done, and which tooth, surfaces or area of the mouth it applies to.
| Column | Required | Format / values | Example |
|---|---|---|---|
service_code | Yes | CDT procedure code ADADentalProcedureCode | D2392 |
service_code_system | No | http://www.ada.org/cdt is the only system here (assumed when empty) | |
modifier_codes | If billed | CPT or HCPCS modifiers, ;-separated AMACPTCMSHCPCSModifiers | |
service_date_start | Yes | date the procedure was performed | 2026-03-12 |
service_date_end | If a period | date a multi-visit procedure ended; blank otherwise | |
place_of_service | Yes | two-digit CMS place-of-service code CMSPlaceofServiceCodes | 11 |
tooth_number | If a tooth | the tooth the procedure was done on: 1 to 32, or A to T for primary teeth ADAUniversalNumberingSystem | 19 |
oral_cavity_area | If an area | the area of the mouth when the procedure is not on one tooth: 00 whole mouth, 01 upper arch, 02 lower arch, 10 20 30 40 quadrants OralBodySite | 02 |
tooth_surfaces | If surfaces | surfaces treated, ;-separated: M, O, I, D, B, F, L C4BBSurfaceCodes | M;O |
additional_tooth_numbers | If several teeth | further teeth or areas the same line covers, ;-separated, same values as tooth_number and oral_cavity_area | 18;20 |
quantity | If available | decimal; units billed on the line | 1 |
diagnosis_sequences | If available | positions in the claim's diagnosis_codes this line was billed against, ;-separated | 1 |
benefit_payment_status | Yes | innetwork, outofnetwork, other; how this line was paid C4BBPayerBenefitPaymentStatus | innetwork |
allowed_units | If adjudicated | decimal; units the payer allowed | 1 |
adjustment_reason_code | If reduced or denied | one CARC or RARC code explaining the noncovered amount X12 CARC and RARC | 96 |
adjustment_reason_system | If RARC | https://x12.org/codes/remittance-advice-remark-codes (CARC, https://x12.org/codes/claim-adjustment-reason-codes, assumed when empty) | |
| amount columns | Yes, at least one | line-level adjudication, one column per category |
service_codeis mandatory on every line and is a CDT code, five characters starting withD. No other system is accepted; a line coded in CPT belongs on a professional claim.tooth_numberandoral_cavity_areaare one FHIR element, the body site. Send one or the other: a filling names a tooth, a denture or a cleaning names an arch or the whole mouth. Payerbox chooses the code system from which column is filled.tooth_surfacesbelongs to the tooth intooth_number. Surfaces on a line with no tooth are rejected.additional_tooth_numberscovers procedures that span several teeth, such as a bitewing radiograph. The first tooth goes intooth_number; the rest here. Each becomes an additional body-site entry linked to this line, which is how CARIN requires them to be carried.benefit_payment_statusand at least one amount are mandatory on every line.adjustment_reason_codeis a single code, as on professional claims.
These resources are served by Patient Access with amounts, and by Provider Access and Payer-to-Payer without them.