NAV Navbar
shell

Introduction

Welcome to Onederful API documentation.

Whether you are a startup or multi-office DSO, learn how Onederful APIs enable modern RESTful connections into dental insurances companies without having to have prior knowledge of integrating with EDI, faxbacks, SFTP, etc. Once your credentials are set up, within minutes, you'll be able to send eligibility and benefit queries to submitting claims right within your own application.

Onederful APIs are built on top of Aptible and AWS and are built for scale while also providing first class security for all data flowing through. Our APIs utilize HTTPS and encrypt all data traffic in transit and at rest.

Authentication (OAuth2 )

In order to ping any of the Onederful APIs, you must get a JWT to pass in the header of every request. The following request shows how the OAuth2 flow works to use your CUSTOMER_CLIENT_ID and CUSTOMER_CLIENT_SECRET to get a JWT.

To authorize, use this code and make sure to replace <CUSTOMER_CLIENT_ID> and <CUSTOMER_CLIENT_SECRET> with your keys:

# With shell, you can just pass the correct header with each request
curl -X POST https://production.onederful.co/oauth2/token \
  -H 'content-type: application/json' \
  -d '{
    "client_id":"<CUSTOMER_CLIENT_ID>",
    "client_secret":"<CUSTOMER_CLIENT_SECRET>"
 }'


(EXAMPLE RESPONSE) The above command returns JSON structured like this:

{
    "access_token": "<ONEDERFUL_ACCESS_TOKEN>",
    "scope": "feature:eligibility",
    "expires_in": 3600,
    "token_type": "Bearer"
}

HTTP Request

POST https://production.onederful.co/oauth2/token

Parameter Description
client_id Client ID provided by Onederful
client_secret Client Secret provided by Onederful

Response

Parameter Description
access_token JWT needed to pass in all requests to Onederful APIs
scope Permissions enabled on the JWT to ping certain Onederful APIs
expires_in Time (ms) before token expires
token_type Token type used in the header - Authorization: Bearer <ONEDERFUL_ACCESS_TOKEN>

Eligibility and Benefits API

Request Eligibility and Benefits (version: v2)

Eligibility and Benefits request

curl -X POST https://production.onederful.co/eligibility \
  -H 'authorization: Bearer <ONEDERFUL_ACCESS_TOKEN>' \
  -H 'content-type: application/json' \
  -d '{
    "subscriber":{
        "first_name":"XXX",
        "last_name":"XXX",
        "dob":"XX/XX/XXXX",
        "member_id":"XXXX"
    },
    "provider":{"npi":"XXXXX"},
    "payer":{"id":"PRINCIPAL"},
    "version":"v2"
  }'

This endpoints sends a real time request for eligibility and benefit information to dental insurance companies.

HTTP Request

POST https://production.onederful.co/eligibility

Request Parameters

Parameter Required Type Description
subscriber true (unless searching for dependent) Patient The subscriber of the benefits you are requesting
dependent false Patient The dependent (if any) of the benefits you are requesting. Typically, the dependent member id is the same as the subscriber member id. When requesting for a dependent, you do not have to include the subscriber object (i.e. subscriber is not required to query for a dependent).
provider true Provider The dentist / provider that renders the service
payer true Payer The insurance company (payer) you are querying for (i.e. Aetna, Principal, etc.)
version true String API version, please use version: v2, the current docs are referencing v2 eligibility and not other versions.
parameters false Parameters Extra filtering parameters when querying for eligibility and benefits
procedure_codes false [String] Example: ["D0120", "D8080"]. Currently, only Aetna and certain Delta Dental states (like CA) allow for specific procedure code lookup. Can look up to at most 10 procedure codes at a time.

Patient Request Schema

Parameter Required Description
first_name true First name of the patient
last_name true Last name of the patient
dob true Date of birth of the patient. Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
member_id true Member ID of the patient (can also be the SSN of the patient, however, many insurances are moving away from SSN towards member IDs).
group_number false Group number of the plan you are searching for. Some insurances require this parameter in order to filter down to the correct patient. As such, if you have this data on hand, please include in the request as all insurances will take this parameter.

Provider Request Schema

Parameter Required Description
npi true 10-digit Provider National Provider Identifier (NPI). Can utilize the public NPI registry lookup tool to make sure you are passing a valid NPI.
tax_id true Tax ID

Payer Request Schema

Parameter Required Description
id true Onederful payer ID. The payer ID must match exactly to one on the Payer List

Parameters Request Schema

Parameter Required Type Description
service_type false Dental Service Type Enum The default is dental for generic dental eligibility and benefits. For specific benefits like orthodontics, you can use the orthodontics value. Note: some payers will ignore this parameter as this functionality is not built into their system.

Response Eligibility and Benefits

(EXAMPLE RESPONSE) Response from insurance (note: data has been abbreviated for length)

{
    "patient": {
        "name": "JOHN DOE",
        "first_name": "JOHN",
        "last_name": "DOE",
        "dob": "02/15/2011",
        "member_id": "123456789",
        "address": {
            "street1": "123 CALIFORNIA ST",
            "city": "SAN FRANCISCO",
            "zip": "94101",
            "state": "CA"
        },
        "coverage": {
            "effective_date": "01/01/2020",
            "status": "active"
        }
    },
    "subscriber": {
        "name": "JOHN DOE",
        "first_name": "JOHN",
        "last_name": "DOE",
        "dob": "02/15/2011",
        "member_id": "123456789",
        "address": {
            "street1": "123 CALIFORNIA ST",
            "city": "SAN FRANCISCO",
            "zip": "94101",
            "state": "CA"
        },
        "coverage": {
            "effective_date": "01/01/2020",
            "status": "active"
        }
    },
    "plan": {
        "name": "ACME INC.",
        "number": "1234567",
        "type": "PRINCIPAL POS",
        "group_number": "12345",
        "state": "CA"
    },
    "deductible": [
        {
            "network": "in_network",
            "category": "preventive",
            "plan_period": "calendar",
            "amount": "0.00",
            "coverage_level": "individual"
        },
        {
            "network": "in_network",
            "category": "basic_and_major",
            "plan_period": "calendar",
            "amount": "50.00",
            "coverage_level": "individual"
        },
        {
            "network": "in_network",
            "category": "preventive",
            "plan_period": "remaining",
            "amount": "0.00",
            "coverage_level": "individual"
        },
        {
            "network": "in_network",
            "category": "basic_and_major",
            "plan_period": "remaining",
            "amount": "26.00",
            "coverage_level": "individual"
        },
        {
            "network": "in_network",
            "category": "preventive",
            "plan_period": "calendar",
            "amount": "0.00",
            "coverage_level": "family"
        },
        ...
    ],
    "maximums": [
       {
            "network": "in_network",
            "category": "preventive_basic_and_major",
            "plan_period": "calendar",
            "amount": "1500.00"
        },
        {
            "network": "in_network",
            "category": "preventive_basic_and_major",
            "plan_period": "remaining",
            "amount": "1470.00"
        },
        {
            "network": "out_of_network",
            "category": "preventive_basic_and_major",
            "plan_period": "calendar",
            "amount": "1500.00"
        },
        {
            "network": "out_of_network",
            "category": "preventive_basic_and_major",
            "plan_period": "remaining",
            "amount": "1470.00"
        },
        ...
    ],
    "coinsurance": [
        {
            "network": "in_network",
            "category": "preventive",
            "plan_period": "calendar",
            "percent": "100"
        },
        {
            "network": "in_network",
            "category": "basic",
            "plan_period": "calendar",
            "percent": "80"
        },
        {
            "network": "in_network",
            "category": "major",
            "plan_period": "calendar",
            "percent": "50"
        },
        {
            "network": "in_network",
            "category": "orthodontics",
            "plan_period": "calendar",
            "percent": "50"
        },
        {
            "network": "out_of_network",
            "category": "preventive",
            "plan_period": "calendar",
            "percent": "80"
        },
        {
            "network": "out_of_network",
            "category": "basic",
            "plan_period": "calendar",
            "percent": "40"
        },
        {
            "network": "out_of_network",
            "category": "major",
            "plan_period": "calendar",
            "percent": "20"
        },
        {
            "network": "out_of_network",
            "category": "orthodontics",
            "plan_period": "calendar",
            "percent": "50"
        },
        ...
    ],
    "limitations": [
        {
            "category": "preventive",
            "service_type": "examinations",
            "limitation": "2 per calendar year",
            "limitation_applies_to": [
                "D0120",
                "D0145",
                "D0150",
                "D0160",
                "D0170",
                "D0180",
                "D9430"
            ],
            "service_dates": [
                {
                    "procedure_code": "D0120",
                    "service_date": "02/15/2020"
                },
                {
                    "procedure_code": "D0150",
                    "service_date": "02/15/2014"
                },
                {
                    "procedure_code": "D0150",
                    "service_date": "02/15/2019"
                }
            ],
            "services_remaining": 1
        },
        {
            "category": "preventive",
            "service_type": "limited_examinations",
            "limitation": "2 per calendar year",
            "limitation_applies_to": [
                "D0140"
            ],
            "service_dates": [
                {
                    "procedure_code": "D0120",
                    "service_date": "02/15/2020"
                },
                {
                    "procedure_code": "D0150",
                    "service_date": "02/15/2014"
                },
                {
                    "procedure_code": "D0150",
                    "service_date": "02/15/2019"
                }
            ],
            "services_remaining": 1,
            "disclaimers": [
                "Limited oral evaluation is considered with or without other procedures on same date of service."
            ]
        },
        {
            "category": "preventive",
            "service_type": "full_mouth",
            "limitation": "1 per 60 consecutive months to the exact day",
            "limitation_applies_to": [
                "D0210",
                "D0330"
            ],
            "services_remaining": 1
        },
        {
            "category": "preventive",
            "service_type": "periapicals",
            "limitation": "4 per calendar year",
            "limitation_applies_to": [
                "D0220",
                "D0230"
            ],
            "service_dates": [
                {
                    "procedure_code": "D0210",
                    "service_date": "02/15/2019"
                },
                {
                    "procedure_code": "D0220",
                    "service_date": "02/15/2019"
                },
                {
                    "procedure_code": "D0230",
                    "service_date": "02/15/2019"
                }
            ],
            "services_remaining": 4
        },
        {
            "category": "preventive",
            "service_type": "bitewings",
            "limitation": "1 per calendar year",
            "limitation_applies_to": [
                "D0270",
                "D0272",
                "D0273",
                "D0274",
                "D0277"
            ],
            "service_dates": [
                {
                    "procedure_code": "D0210",
                    "service_date": "02/15/2019"
                },
                {
                    "procedure_code": "D0272",
                    "service_date": "02/16/2020"
                }
            ],
            "services_remaining": 0
        },
        {
            "category": "preventive",
            "service_type": "prophylaxis",
            "limitation": "2 per calendar year",
            "limitation_applies_to": [
                "D1110",
                "D1120"
            ],
            "service_dates": [
                {
                    "procedure_code": "D1110",
                    "service_date": "02/15/2019"
                }
            ],
            "services_remaining": 2,
            "disclaimers": [
                "Not covered if less than 90 days have passed since active periodontal therapy was completed.",
                "If under age 14, benefit limited to child prophylaxis (D1120)"
            ]
        },
        {
            "category": "preventive",
            "service_type": "periodontal_maintenance",
            "limitation": "2 per calendar year",
            "limitation_applies_to": [
                "D4910"
            ],
            "service_dates": [
                {
                    "procedure_code": "D1110",
                    "service_date": "02/15/2019"
                }
            ],
            "services_remaining": 2,
            "disclaimers": [
                "This procedure is only covered by us if at least 90 days have passed since the active periodontal therapy was completed."
            ]
        },
        {
            "category": "preventive",
            "service_type": "fluoride",
            "limitation": "1 per calendar year",
            "limitation_applies_to": [
                "D1208",
                "D1206"
            ],
            "services_remaining": 1,
            "disclaimers": [
                "Covered for dependent children and adults. No age limitation."
            ]
        },
        {
            "category": "preventive",
            "service_type": "sealants",
            "limitation": "1 per 36 consecutive months to the exact day",
            "limitation_applies_to": [
                "D1351",
                "D1352",
                "D1353"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Covered for dependent children and adults. No age limitation.",
                "Applicable only to the occlusal surface of first and second permanent molars."
            ]
        },
        {
            "category": "basic",
            "service_type": "space_maintainers",
            "limitation": "Covered once per site per lifetime",
            "limitation_applies_to": [
                "D1510",
                "D1520",
                "D1526",
                "D1527",
                "D1575",
                "D1516",
                "D1517"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Covered for dependent children and adults. No age limitation."
            ]
        },
        {
            "category": "basic",
            "service_type": "fillings",
            "limitation": "1 replacement every 24 months to the exact day",
            "limitation_applies_to": [
                "D2330",
                "D2331",
                "D2332",
                "D2335",
                "D2140",
                "D2150",
                "D2160",
                "D2161",
                "D2390",
                "D2391",
                "D2392",
                "D2393",
                "D2394"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Composites are considered at an amalgam rate for posterior teeth which includes molars and pre-molars (bicuspids).",
                "Restorations replacing tooth structure lost from abrasion, attrition, abfraction and erosion are not covered.",
                "These services are subject to Individual and/or Consultant review. See Submission Guidelines here: https://secure02.principal.com/publicvsupply/GetFile?fm=GP58750A&ty=PDF&EXT=.PDF"
            ]
        },
        {
            "category": "major",
            "service_type": "crowns_and_onlays",
            "limitation": "120 month replacement",
            "limitation_applies_to": [
                "D2710",
                "D2712",
                "D2720",
                "D2721",
                "D2722",
                "D2740",
                "D2750",
                "D2751",
                "D2752",
                "D2780",
                "D2781",
                "D2782",
                "D2783",
                "D2790",
                "D2791",
                "D2792",
                "D2794",
                "D2542",
                "D2543",
                "D2544",
                "D2642",
                "D2643",
                "D2644",
                "D2662",
                "D2663",
                "D2664",
                "D2753"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "These services are subject to Individual and/or Consultant review. See Submission Guidelines here: https://secure02.principal.com/publicvsupply/GetFile?fm=GP58750A&ty=PDF&EXT=.PDF",
                "Covered services are paid on seat date",
                "Molars/Pre-molars are based upon the alternate benefit of a noble metal cast crown. Anterior teeth are based upon the alternate benefit of a porcelain fused to noble metal cast crown.",
                "These codes are covered services only if placed to restore a tooth broken down due to tooth decay or injury resulting in the loss of tooth structure. (Injury does not include damage to teeth that results from chewing or biting food, substances or objects)."
            ]
        },
        {
            "category": "basic",
            "service_type": "stainless_steel_crowns",
            "limitation": "120 month replacement",
            "limitation_applies_to": [
                "D2929",
                "D2930",
                "D2931",
                "D2932",
                "D2933",
                "D2934"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Crowns replacing tooth structure lost from abrasion, attrition, abfraction and erosion are not covered.",
                "If used as a temporary, not covered",
                "If a permanent crown replaces a stainless steel/resin/prefabricated crown at a later date but before replacement restrictions allow, all new charges will be reduced by those already paid."
            ]
        },
        {
            "category": "major",
            "service_type": "crown_recements",
            "limitation": "1 per 24 consecutive months to the exact day",
            "limitation_applies_to": [
                "D2920"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Covered only if done more than 12 months after initial insertion of crown/onlay"
            ]
        },
        {
            "category": "major",
            "service_type": "buildups",
            "limitation": "120 month replacement",
            "limitation_applies_to": [
                "D2950"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "These services are subject to Individual and/or Consultant review. See Submission Guidelines here: https://secure02.principal.com/publicvsupply/GetFile?fm=GP58750A&ty=PDF&EXT=.PDF",
                "Considered only when required for retention and preservation of tooth. No benefits payable if restorative procedures are not covered."
            ]
        },
        {
            "category": "basic",
            "service_type": "pulpotomy",
            "limitation": "Covered once per site per lifetime",
            "limitation_applies_to": [
                "D3220"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Not to be construed as the first stage of root canal therapy."
            ]
        },
        {
            "category": "basic",
            "service_type": "simple_endodontic_therapy",
            "limitation": "Covered once per site per lifetime",
            "limitation_applies_to": [
                "D3310",
                "D3320"
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Includes intra-operative x-rays."
            ]
        },
        {
            "category": "basic",
            "service_type": "complex_endodontic_therapy",
            "limitation": "Covered once per site per lifetime",
            "limitation_applies_to": [
                "D3330"
            ],
            "service_dates": [
                {
                    "procedure_code": "D3330",
                    "service_date": "02/15/2014",
                    "tooth_code": "14"
                }
            ],
            "services_remaining": 0,
            "disclaimers": [
                "Includes intra-operative x-rays."
            ]
        },
       ...
    ],
    "disclaimers": [
        "A missing tooth clause applies to services such as the initial placement of full or partial dentures, fixed bridges, implants, and implant crowns. These services are only covered if the natural teeth being replaced were extracted while covered under this plan.",
        "The patient should see a Principal Point of Service (POS) EPO dentist for the best benefit. Lesser benefits are available by visiting a Principal POS PPO or a non-participating dentist. A different fee schedule may apply according to leased agreements. Benefits for non-participating Dentists are subject to Usual, Customary and Reasonable Fees (UCR). Call 800-832-4450 to check participation. ",
        "Orthodontic treatment is covered only if the bands/appliances were placed prior to age 19."
        ...
    ],
    "onederfulId": "1b2cdfr1-341x-25exb-ad15-454d513456af",
    "api_count": 1
}

Response Schema

Parameter Type Description
onederfulId String Unique UUID passed back by Onederful in every response. You can just pass the onederfulId when emailing support@onederful.co for any questions about a specific transaction.
subscriber Patient The subscriber info
dependents [Patient] List of dependents searched for (for most insurance cases, there will only be one dependent returned here).
patient Patient The patient that was searched on (i.e. if subscriber was the primary search, the patient will be the subscriber, if the dependent was primary search, the patient will be the dependent). You can use this as primary object of knowing who the benefits relate to as well as the coverage status (i.e. active/inactive).
provider Provider The provider info such as NPI (note: will default name to Onederful as insurances don't return the name attached to the NPI)
plan Plan Plan related information
payer Payer Metadata about the insurance company
active_coverage [Benefit] Metadata about the active coverage for this plan
deductible [Benefit] List of benefit data about deductibles. In dental, deductibles are amount a patient must pay for certain covered services before insurance starts paying.
maximums [Benefit] List of benefit data about maximums. In dental, maximums are the total amount that insurance will pay for dental coverage. Once a patient hits the maximum, all expenses must be paid out of pocket (insurance will not cover any more expenses).
coinsurance [Benefit] List of benefit data about coinsurance. In dental, coinsurances are the percentage insurance will cover for a procedure (i.e. D0120, D8080, etc.) / category (i.e. basic, major, etc.).
waiting_period [Benefit] List of benefit data about waiting period. In dental, waiting periods are the period of time a patient must be enrolled in a plan before they are eligible for benefits.
limitations [Benefit] List of benefit data about limitations. In dental, limitations are descriptions about time or frequency (i.e. no more than 2 cleanings in 12 months) for certain procedures. As dental plans typically don't cover every dental procedure, each plan has a list of conditions that limit or exclude services from coverage.
not_covered [Benefit] List of benefit data about not covered benefits. In dental, not covered means procedures/categories in this section are not covered by insurance (i.e. insurance will not pay out for these procedures/categories).
payer_specific_info [Benefit] List of benefit data that is specific for a payer. This section is an area where insurances may place unstructured data into. The long term goal for Onederful is to normalize this section out to remove this section entirely. If you see this section in any payer and would like Onederful to normalize it into the rest of the schema, please email support@onederful.co with the onederfulId of the transaction.
copayment [Benefit] List of benefit data about copayment. In dental, copayment is the fixed dollar amount a patient will pay for a covered service. Typically this is only relevant for HMO plans, where a patient is attached to a HMO provider.
out_of_pocket [Benefit] List of benefit data about out of pocket info. In dental, out of pocket data relates to amount patient must pay out of pocket for certain procedures/categories (this section is rarely sent).
disclaimers [String] Free text section insurance companies will include disclaimers such as Missing Tooth Clause, UCR, specific info about the plan, etc. There is no universal dictionary for this section as each insurance has their own lexicon for disclaimers and as such is a free text section.
payer_uuid String Payer specific UUID (if any) that gets attached to the response.

Benefit Response Schema

Parameter Type Description
network String The network related to this benefit. Typical values are: in_network, out_of_network, epo, unkown, applies_all. Certain insurance companies may put free text values here. Refer here for a more detailed list.
category String Category of service (if any). Typical values are: basic, orthodontics, etc. Certain insurance companies may put free text values here. Refer here for a more detailed list.
insurance_type String Type of insurance coverage. Typical values are: group_policy, hmo, etc. Certain insurance companies may put free text values here. Refer here for a more detailed list.
service_type String Service type of this benefit. Typical values are tmj, dental_implants, etc. Certain insurance companies may put free text values here. Refer here for a more detailed list.
plan_period Plan Period Enum The time period that applies to this benefit. Example: calendar means the benefit period relates to January 1 to December 31 of the current year.
amount String Dollar amount of this benefit. In context of maximums, the amount is the maximum dollar amount insurance will pay for. In context of deductible, the amount is the amount a patient must pay before insurance pays out.
coverage_level Coverage Level Enum The coverage level this benefit applies to. Example: family would relate to the benefit in the family context (i.e. family deductible amount typically will be 3x the time of the individual deductible).
percent String Percent always in context of how much the insurance company will pay. Example: if 100%, insurance will pay out 100% of this procedure/category. Note: you still need the Fee Schedule to make sure you are using the correct fee when submitting the claim (i.e. you can't submit a claim for a cleaning of $1,000,000 and expect insurance companies to pay 100%, they will usually pay 100% of the UCR fee / negotiated fee on the fee schedule that each provider has typically in a PDF or printed out file).
procedure_code String Specific procedure code this benefit relates to. Example: D0120
limitation String Descriptive limitation such as frequency limitation for this benefit. Example: 1 visits in 60 month (in context of full mouth x-rays)
limitation_applies_to [String] List of procedure codes that the limitation also applies to. Service history on any of these procedure codes will affect all their frequencies.
service_dates [Service History] Service date info such as list of last visits. This is useful to know in combination with frequency to know if insurance will pay out this benefit.
services_remaining Int Number of services remaining
disclaimers [String] Free text disclaimer about this benefit
quantity String Related to quantity_qualifier
quantity_qualifier String Related to quantity. quantity qualifier related to this benefit
health_service_descriptions [Health Service Description] Specific information about the limitation including broken out values for frequency.
payer_specific_description String Free text description about this benefit. Some insurances may put network specific info like PPO in here. Our long term goal is to codify and eliminate this section. Please reach out to support@onederful.co if you think any values in this section should be codified or put into another parameter.
age_limit Age Limit Any age limit info related to this benefit

Patient

Parameter Type Description
name String Patient full name, includes first name, middle name, and last name
first_name String Patient first name
middle_name String Patient middle name
last_name String Patient last name
dob String Patient date of birth in MM/DD/YYYY
member_id String Patient member ID
address Address Patient address
gender String Patient gender
coverage Coverage Patient coverage info
metadata [Metadata] Metadata related to the patient

Provider

Parameter Type Description
first_name String Provider first name
last_name String Provider last name
organization_name String Organization name if provider is not a person
tax_id String Provider tax id
npi String Provider npi

Coverage

Parameter Type Description
effective_date String The effective date for the plan
status Coverage Status Enum The plan status such as active to know if the plan is active or not
end_date String The end date for the plan

Address

Parameter Type Description
street1 String The first line of an address
street2 String The second line of an address
city String The city of an address
zip String The zipcode of an address
state String The state of an address

Payer

Parameter Type Description
id String The returned payer ID from the insurance (will look different from onederful payer ID as the onederful payer IDs are abstracted IDs depending on the data source)
name String The payer name
phone String The payer phone number
claim_address Address The payer claim mailing address (if any) returned by the payer

Plan

Parameter Type Description
name String The plan name
number String The plan number
type String The plan type
group_number String The plan group number
group_name String The plan group name
state String The plan state
metadata [Metadata] Metadata info related to the plan

Age Limit

Parameter Type Description
age_high_value String The value which reads as age up to (i.e. age_high_limit: 18 == up to age 18)
age_low_value String The value which reads as age minimum is (i.e. age_low_value: 5 == minimum age of 5)

Health Service Description

Parameter Type Description
quantity_qualifier String quantity_qualifier and quantity go together.
quantity String quantity_qualifier and quantity go together.
unit_qualifier String unit_qualifier and unit go together.
unit String unit_qualifier and unit go together.
time_period_qualifier String time_period_qualifier and time_period_value go together.
time_period_value String time_period_qualifier and time_period_value go together.
delivery_frequency String delivery_frequency and delivery_pattern_time go together.
delivery_pattern_time String delivery_frequency and delivery_pattern_time go together.

Service History

Parameter Type Description
procedure_code String Procedure code related to this service date
service_date String The actual service date (MM/DD/YYYY)
tooth_code String Tooth code of the service date
tooth_surfaces String Tooth surface of the service date
type String type and value go together. Descriptor of the service.
value String type and value go together. Value related to the descriptor of the service.

Metadata

Parameter Type Description
type String type and value go together. Descriptor.
value String type and value go together. Value related to the descriptor.

Claim Submission API

Claim submission API is a RESTful API (no SFTP needed) enabling submission of dental claims. As the process is asynchronous and can take up to a couple days before insurance companies adjudicate the claim, notifications will be sent through webhooks (i.e. no need to poll, Onederful will push notifications directly to you).

Request Claim Submission API

Register Webhook Request

curl -X POST https://production.onederful.co/claims \
  -H 'authorization: Bearer <ONEDERFUL_ACCESS_TOKEN>' \
  -H 'content-type: application/json' \
  -d '{
          "subscriber": {
              "member_id": "XXX",
              "first_name": "XXX",
              "last_name": "XXX",
              "dob": "XX/XX/XXXX",
              "address": {
                  "street1": "XXX",
                  "city": "XXX",
                  "zip": "XXX",
                  "state": "XXX"
              }
          },
          "payer": {
              "id": "XXX"
          },
          "billing_provider": {
              "npi": "XXX",
              "first_name": "XXX",
              "last_name": "XXX",
              "license_number": "XXX",
              "tax_id": "XXX",
              "address": {
                  "street1": "XXX",
                  "street2": "XXX",
                  "city": "XXX",
                  "state": "XXX",
                  "zip": "XXX"
              }
          },
          "claim": {
              "notes": [
                  "NOTES FOR INSURANCE"
              ],
              "service_date": "XX/XX/XXXX",
              "amount": "1000.00",
              "services": [
                  {
                      "procedure_code": "D0210",
                      "amount": "1000",
                      "service_date": "XX/XX/XXXX"
                  }
              ]
          }
      }'

Request Parameters

Parameter Required Type Description
subscriber true Claim Patient Schema The subscriber of the benefits you are requesting
dependent false Claim Patient Schema The dependent (if any) of the benefits you are requesting. Typically, the dependent member id is the same as the subscriber member id. When requesting for a dependent, you do not have to include the subscriber object (i.e. subscriber is not required to query for a dependent).
billing_provider true Claim Provider Schema The dentist / provider that renders the service
rendering_provider false Claim Provider Schema The dentist / provider that renders the service
payer true Claim Payer Schema The insurance company (payer) you are querying for (i.e. Aetna, Principal, etc.)
is_predetermination false boolean Flag to indicate if the claim is a predetermination claim or a actual claim submission. Default: false (i.e. actual claim submission)
claim true Claim Schema Claim related information including the amount billed and services rendered

Claim Patient Request Schema

Parameter Required Type Description
first_name true String First name of the patient
last_name true String Last name of the patient
dob true String Date of birth of the patient. Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
member_id true String Member ID of the patient (can also be the SSN of the patient, however, many insurances are moving away from SSN towards member IDs).
group_number false String Group number of the insurance plan you are searching for
middle_name false String Middle name of the patient
suffix false String Suffix of the patient name
policy_number false String Policy of the insurance plan
address true Address Schema Address of the patient
gender false Gender Enum Patient gender. Default: U

Claim Payer Schema

Parameter Required Type Description
id true String Onederful payer ID, must match exactly to a payer on our payer list

Claim Provider Request Schema

Parameter Required Type Description
npi true String 10-digit Provider National Provider Identifier (NPI). Can utilize the public NPI registry lookup tool to make sure you are passing a valid NPI.
tax_id true String Tax ID
first_name true String First name of Provider
last_name true String Last name of Provider
address true Address Schema Address for the provider
taxonomy false Provider Taxonomy Enum Provider Taxonomy. Default: dentist
license_number false String License number of Provider
billing_organization false String If billing is not a person but an organization with a type 2 NPI, use this instead of first_name and last_name

Claim Request Schema

Parameter Required Type Description
amount true String Total claim charge amount. If you are billing for $1000.00, you would put "1000.00" here. (Note: Total amount must equal the sum of all the amounts in the services section)
notes false [String] Free text notes to send to insurance companies. Max 5 notes with limitations of 80 characters per note.
services true Claim Services Schema Detailed information about services rendered for the claim
service_date false String Service Date for the claim. Dates specified in the services section will override this value for those specific services. Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
place_of_service false Place of Service Enum Place where service occurred. Default: office
provider_signature_on_file false Provider Signature Enum Flag of if you have the provider signature on file. Default: yes
plan_participation false Plan Participation Enum Provider accepts assignment of benefits. Default: assigned
authorized_payment_to_provider false Authorized Payment Enum The patient authorized the plan to remit payment to the provider. Default: yes
release_of_information false Release of Information Enum Provider has signed statement permitting release of medical billing data. Default: has_signed_statement
ortho_banding_date false String Date orthodontic appliance was place
predetermination_id false String If submitting a claim that had a predetermination, you can add that predetermination ID here
tooth_statuses false Tooth Status Schema Section to add tooth status information like missing tooth, etc.
NEA_num false String If using NEA fast attach for attachments, you can add the number here
ortho_months_of_treatment false String Number of months of orthodontic treatment
ortho_months_of_treatment_remaining false String Number of months remaining of orthodontic treatment

Claim Services Schema

Parameter Required Type Description
procedure_code true String Procedure code for this specific service
amount true String Amount to be billed for this service
oral_cavity_designation false Oral Cavity Designation Enum Area of Oral Cavity if procedure refers to a quadrant or arch and the area of the cavity is not uniquely defined by the procedure's nomenclature
prosthetic_placement_status false Prosthetic Placement Status Enum Indication of the placement status of the prosthetic either inital placement or replacement
quantity false String Number of procedures
tooth_info false [Tooth Info Schema] Tooth information relating to the tooth number and tooth surfaces
service_date false String Date of service, if different from the claim.service_date
prior_placement_date false String Required if prosthetic_placement_status is replacement
ortho_banding_date false String Date orthodontic appliance was place
ortho_replacement_date false String Required if orthodontic appliance was replaced
predetermination_id false String If submitting a claim that had a predetermination, you can add that predetermination ID here
description false String Free text area to add additional information. Limit 80 characters. Note: as this is free text, this section may prompt a person on the insurance side to manually review which may affect overall time required to process the claim.

Tooth Status Schema

Parameter Required Type Description
tooth_number false String The tooth number from ADA's Universal/National Tooth Designation System
tooth_status_code false Tooth Status Enum Status of tooth, if it is to be extracted or is missing

Tooth Info Schema

Parameter Required Type Description
tooth_number false String The tooth number from ADA's Universal/National Tooth Designation System
surfaces false [Tooth Surfaces Enum] Tooth surface when procedure performed by tooth involves one or more surfaces

Address Request Schema

Parameter Required Type Description
street1 true String First line of a street address
street2 false String Second line of a street address. If no second line, don't include
city true String City of the address
state true String State of the address
zip false String Zipcode of the address

Relevant Enums

To use this section properly, when sending the claim submission request to Onederful, the Accepted Keys are the only values accepted for their corresponding parameters.

Provider Taxonomy Enum

Accepted Keys Description
dentist Dentist (122300000X)
orthodontics_and_dentofacial_orthopedics Orthodontics And Dentofacial Orthopedics(1223X0400X)
general_practice General Practice (1223G0001X)
dental_public_health Dental Public Health (1223D0001X)
dentist_anesthesiologist Dentist Anesthesiologist (1223D0004X)
endodontics Endodontics (1223E0200X)
oral_and_maxillofacial_pathology Oral and Maxillofacial Pathology (1223P0106X)
pediatric_dentistry Pediatric Dentistry (1223P0221X)
periodontics Periodontics (1223P0300X)
prosthodontics Prosthodontics (1223P0700X)
oral_and_maxillofacial_surgery Oral and Maxillofacial Surgery (1223S0112X)
oral_and_maxillofacial_radiology Oral and Maxillofacial Radiology (1223X0008X)
orofacial_pain Orofacial Pain (1223X2210X)

Place of Service Enum

Accepted Keys
office
home
assisted_living_facility
group_home
mobile_unit
temporary_lodging
walk_in_retail_health_clinic
worksite
off_campus_outpatient_hospital
urgent_care_facility
inpatient_hospital
outpatient_hospital
emergency_room_hospital
telehealth

Provider Signature Enum

Accepted Keys
yes
no

Plan Participation Enum

Accepted Keys
assigned
not_assigned

Authorized Payment Enum

Accepted Keys
yes
no
patient_refuses_to_assign_benefits

Release of Information Enum

Accepted Keys
has_signed_statement
no_signature

Tooth Status Enum

Accepted Keys
to_be_extracted
missing

Tooth Surfaces Enum

Accepted Keys Description
B Buccal
D Distal
F Facial
I Incisal
L Lingual
M Mesial
O Occlusal

Oral Cavity Designation Enum

Accepted Keys Description
00 Entire oral cavity
01 Maxillary Arch
02 Mandibular Arch
10 Upper Right Quadrant
20 Upper Left Quadrant
30 Lower Left Quadrant
40 Lower Right Quadrant

Prosthetic Placement Enum

Accepted Keys
initial_placement
replacement

Gender Enum

Accepted Keys Description
M Male
F Female
U Unknown

Response Claim Submission API

Claim submission response will be sent back to you immediately once the claim is submitted into our system. As the claim submission flow is asynchronous and takes days to weeks for the insurance company to start adjudicating the claim, rather than hold a connection open for days, we use webhook notifications to push updates directly to you.

If there are no quick server side validation errors, you will get the response similar to the (EXAMPLE RESPONSE)

(EXAMPLE RESPONSE)

{
    "onederfulId":"1b2cdfr1-341x-25exb-ad15-454d513456af",
    "message":"Payers may take a couple of days before responding to claims submission. Notifications will be sent to your webhook url, for instructions on registering a webhook url please refer to our developer documentation at: https://developers.onederful.co/documentation"
}

Response Schema

Parameter Type Description
onederfulId String Unique UUID passed back by Onederful in every response. You can just pass the onederfulId when emailing support@onederful.co for any questions about a specific transaction.
message String Generic message that claims may take days to weeks to start the adjudication process on the insurance company side. Notifications will be sent as an HTTPS POST to your registered webhook URL

Claim Status API

Claim Status Request

Claim Status Request

curl -X POST https://production.onederful.co/claim_status \
  -H 'authorization: Bearer <ONEDERFUL_ACCESS_TOKEN>' \
  -H 'content-type: application/json' \
  -d '{
          "payer": {
              "id": "AETNA_DENTAL_PLANS"
          },
          "provider": {
              "npi": "XXX"
          },
          "subscriber": {
              "dob": "XX/XX/XXXX",
              "last_name": "XXX",
              "member_id": "XXX",
              "first_name": "XXX"
          },
          "service_date": "XX/XX/XXXX"
      }'

Request Parameters

Parameter Required Type Description
subscriber true Claim Status Patient Schema The subscriber of the benefits you are requesting
dependent false Claim Status Patient Schema The dependent (if any) of the benefits you are requesting. Typically, the dependent member id is the same as the subscriber member id. When requesting for a dependent, you do not have to include the subscriber object (i.e. subscriber is not required to query for a dependent).
provider true Claim Status Provider Schema The dentist / provider that renders the service
payer true Claim Status Payer Schema The insurance company (payer) you are querying for (i.e. Aetna, Principal, etc.)
service_date true String The service date for the requested claim. Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
service_date_end false String (optional: if end date is different from service_date you can put the end service date here). Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
total_amount_submitted false String Dollar amount of claim submitted

Claim Status Patient Request Schema

Parameter Required Type Description
first_name true String First name of the patient
last_name true String Last name of the patient
dob true String Date of birth of the patient. Format must be in (MM/DD/YYYY) where MM = month, DD = day, YYYY = year.
member_id true String Member ID of the patient (can also be the SSN of the patient, however, many insurances are moving away from SSN towards member IDs).
group_number false String Group number of the insurance plan you are searching for

Claim Status Provider Request Schema

Parameter Required Type Description
npi true String Provider npi
first_name false String Provider first name
last_name false String Provider last name
tax_id false String Provider tax id

Claim Status Response

(EXAMPLE RESPONSE) Response from insurance

{
    "payer": {
        "entity": "payer",
        "payer_id": "60054",
        "name": "AETNA"
    },
    "receiver": {
        "entity": "submitter",
        "npi": "1234567890",
        "name": "ONEDERFUL"
    },
    "billing_provider": {
        "entity": "provider",
        "npi": "1234567890",
        "name": "ONEDERFUL"
    },
    "subscriber": {
        "entity": "insured_or_subscriber",
        "member_id": "123456789",
        "first_name": "JOHN",
        "last_name": "DOE"
    },
    "claims": [
        {
            "claim_control_number": "123456789",
            "date": "01/01/2020-01/01/2020",
            "status_info": [
                {
                    "charge_amount": "130",
                    "payment_amount": "100.30",
                    "adjudication_finalized_date": "01/01/2020",
                    "remittance_date": "01/01/2020",
                    "check_number": "1234-567890",
                    "status_information_effective_date": "01/01/2020",
                    "status_detailed": [
                        {
                            "category_code": "F1",
                            "category": "finalized_payment_the_claim_line_has_been_paid",
                            "status": "processed_according_to_contract_provisions_contract_refers_to_provisions_that_exist_between_the_health_plan_and_a_provider_of_health_care_services"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "payer_claim_number": "ABCDEFGHM0"
                }
            ],
            "services": [
                {
                    "amount": "80",
                    "procedure_code": "D1110",
                    "date": "01/01/2020-01/01/2020",
                    "status_info": [
                        {
                            "charge_amount": "80",
                            "payment_amount": "60.20",
                            "status_information_effective_date": "01/01/2020",
                            "status_detailed": [
                                {
                                    "category_code": "F1",
                                    "category": "finalized_payment_the_claim_line_has_been_paid",
                                    "status": "processed_according_to_contract_provisions_contract_refers_to_provisions_that_exist_between_the_health_plan_and_a_provider_of_health_care_services"
                                }
                            ]
                        }
                    ]
                },
                {
                    "amount": "50",
                    "procedure_code": "D0120",
                    "date": "01/01/2020-01/01/2020",
                    "status_info": [
                        {
                            "charge_amount": "50",
                            "payment_amount": "40.10",
                            "status_information_effective_date": "01/01/2020",
                            "status_detailed": [
                                {
                                    "category_code": "F1",
                                    "category": "finalized_payment_the_claim_line_has_been_paid",
                                    "status": "processed_according_to_contract_provisions_contract_refers_to_provisions_that_exist_between_the_health_plan_and_a_provider_of_health_care_services"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "onederfulId": "bf20b340-b594-11ea-a868-0b8d02399be0",
    "api_count": 1
}

Response Parameters

Parameter Type Description
payer Claim Status Response Payer Payer
receiver Claim Status Response Provider Receiver of the claim status request
billing_provider Claim Status Response Provider Billing provider
subscriber Claim Status Response Patient Subscriber
dependent Claim Status Response Patient Dependent
claims [Claim Status Response Claim] Claims returned for the claim status request

Claim Status Response Payer

Parameter Type Description
entity String Entity type of the payer (can ignore)
payer_id String The returned payer ID from the insurance (will look different from onederful payer ID as the onederful payer IDs are abstracted IDs depending on the data source)
name String Payer name

Claim Status Response Provider

Parameter Type Description
entity String Entity type of the provider (can ignore)
name String Provider name
npi String Provider npi

Claim Status Response Provider

Parameter Type Description
entity String Entity type of the patient (can ignore)
member_id String Patient member id
first_name String Patient first name
last_name String Patient last name

Claim Status Response Claim

Parameter Type Description
claim_control_number String Autogenerated claim control number
date String Date of the claim requested for (can be a range of dates)
status_info [Claim Status Status Info] Status info related to claim payment and where in the adjudication process the claim is
references Claim Status Reference Payer specific metadata they can pass back
services Claim Status Service Service level status info related data

Claim Status Status Info

Parameter Type Description
charge_amount String Amount the original claim was submitted for
payment_amount String Amount insurance pays out
adjudication_finalized_date String Date adjudication was finalized
remittance_date String Date payment was remitted
check_number String Check number that the claim was attached to
status_information_effective_date String Date the claim status was inquired
status_detailed String [ClaimStatusStatusDetailedType]

Claim Status Reference

Parameter Type Description
payer_claim_number String Payer internal claim number

Claim Status Service

Parameter Type Description
amount String Amount submitted for this service
procedure_code String ADA procedure code for this service
date String The service date for this procedure code
status_info [Claim Status Status Info] Detailed status info

Claim Status Status Detailed

Parameter Type Description
category_code Claim Status Category Code Enum Category code sent by the payer
category Claim Status Category Code Enum Category related to category code
status Claim Status Status Enum Status code sent by payer

Claim Status Category Code Enum

Category Code Category
A0 acknowledgement_forwarded_the_claim_encounter_has_been_forwarded_to_another_entity
A1 acknowledgement_receipt_the_claim_encounter_has_been_received
A2 acknowledgement_acceptance_into_adjudication_system_the_claim_encounter_has_been_accepted_into_the_adjudication_system
A3 acknowledgement_returned_as_unprocessable_claim_the_claim_encounter_has_been_rejected_and_has_not_been_entered_into_the_adjudication_system
A4 acknowledgement_not_found_the_claim_encounter_can_not_be_found_in_the_adjudication_system
A5 acknowledgement_split_claim_the_claim_encounter_has_been_split_upon_acceptance_into_the_adjudication_system
A6 acknowledgement_rejected_for_missing_information_the_claim_encounter_is_missing_the_information_specified_in_the_status_details_and_has_been_rejected
A7 acknowledgement_rejected_for_invalid_information_the_claim_encounter_has_invalid_information_as_specified_in_the_status_details_and_has_been_rejected
A8 acknowledgement_rejected_for_relational_field_in_error
DR01 acknowledgement_receipt_the_claim_encounter_has_been_received
DR02 acknowledgement_acceptance_into_the_data_reporting_processing_system_the_claim_encounter_has_been_accepted_into_the_data_reporting_processing_system
DR03 acknowledgement_returned_as_unprocessable_claim_the_claim_encounter_has_been_rejected_and_has_not_been_entered_into_the_data_reporting_processing_system
DR04 acknowledgement_not_found_the_claim_encounter_can_not_be_found_in_the_data_reporting_processing_system
DR05 acknowledgement_rejected_for_missing_information_the_claim_encounter_is_missing_the_information_specified_in_the_status_details_and_has_been_rejected
DR06 acknowledgment_rejected_for_invalid_information_the_claim_encounter_has_invalid_information_as_specified_in_the_status_details_and_has_been_rejected
DR07 acknowledgement_rejected_for_relational_field_in_error
DR08 acknowledgement_warning_the_claim_encounter_has_been_accepted_into_the_data_reporting_processing_system_but_has_received_a_warning_as_specified_in_the_status_details
P0 pending_adjudication_details_this_is_a_generic_message_about_a_pended_claim
P1 pending_in_process_the_claim_or_encounter_is_in_the_adjudication_system
P2 pending_payer_review_the_claim_encounter_is_suspended_and_is_pending_review_e
P3 pending_provider_requested_information_the_claim_or_encounter_is_waiting_for_information_that_has_already_been_requested_from_the_provider
P4 pending_patient_requested_information_the_claim_or_encounter_is_waiting_for_information_that_has_already_been_requested_from_the_patient
P5 pending_payer_administrative_system_hold
F0 finalized_the_claim_encounter_has_completed_the_adjudication_cycle_and_no_more_action_will_be_taken
F1 finalized_payment_the_claim_line_has_been_paid
F2 finalized_denial_the_claim_line_has_been_denied
F3 finalized_revised_adjudication_information_has_been_changed
F3F finalized_forwarded_the_claim_encounter_processing_has_been_completed
F3N finalized_not_forwarded_the_claim_encounter_processing_has_been_completed
F4 finalized_adjudication_complete_no_payment_forthcoming_the_claim_encounter_has_been_adjudicated_and_no_further_payment_is_forthcoming
R0 requests_for_additional_information_general_requests_requests_that_dont_fall_into_other_r_type_categories
R1 requests_for_additional_information_entity_requests_requests_for_information_about_specific_entities_subscribers_patients_various_providers
R3 requests_for_additional_information_claim_line_requests_for_information_that_could_normally_be_submitted_on_a_claim
R4 requests_for_additional_information_documentation_requests_for_additional_supporting_documentation
R5 request_for_additional_information_more_specific_detail_additional_information_as_a_follow_up_to_a_previous_request_is_needed
R6 requests_for_additional_information_regulatory_requirements
R7 requests_for_additional_information_confirm_care_is_consistent_with_health_plan_policy_coverage
R8 requests_for_additional_information_confirm_care_is_consistent_with_health_plan_coverage_exceptions
R9 requests_for_additional_information_determination_of_medical_necessity
R10 requests_for_additional_information_support_a_filed_grievance_or_appeal
R11 requests_for_additional_information_pre_payment_review_of_claims
R12 requests_for_additional_information_clarification_or_justification_of_use_for_specified_procedure_code
R13 requests_for_additional_information_original_documents_submitted_are_not_readable
R14 requests_for_additional_information_original_documents_received_are_not_what_was_requested
R15 requests_for_additional_information_workers_compensation_coverage_determination
R16 requests_for_additional_information_eligibility_determination
R17 replacement_of_a_prior_request
E0 response_not_possible_error_on_submitted_request_data
E1 response_not_possible_system_status
E2 information_holder_is_not_responding_resubmit_at_a_later_time
E3 correction_required_relational_fields_in_error
E4 trading_partner_agreement_specific_requirement_not_met_data_correction_required
D0 data_search_unsuccessful_the_payer_is_unable_to_return_status_on_the_requested_claims_based_on_the_submitted_search_criteria

Electronic Remittance Advice

ERA webhook enables a push notification of electronic EOB (explanation of benefits) to route through Onederful to push to you. Enrollment is required in order to enable ERAs to pass through Onederful. This can tie end to end claim submission to getting ERA info all digitized.

Response ERA

(EXAMPLE RESPONSE) Response from insurance (note: data has been abbreviated for length)

{
    "financial_info": {
        "transaction_handling_code": "remittance_information_only",
        "payment_amount": "500",
        "transaction_type": "credit",
        "payment_method": "check",
        "issue_date": "01/01/2020",
        "check_number": "1234561",
        "payer_id": "1234561234",
        "date": {
            "qualifier": "production",
            "value": "01/01/2020"
        },
        "references": [
            {
                "qualifier": "receiver_identification_number",
                "value": "123456789"
            },
            {
                "qualifier": "version_code_local",
                "value": "1.2.3.456"
            }
        ]
    },
    "payer": {
        "name": "PAYER",
        "address": {
            "street1": "PO Box 12345",
            "city": "SAN FRANCISCO",
            "state": "CA",
            "zip": "94105"
        },
        "contact_info": [
            {
                "contact_function": "payers_claim_office",
                "name": "JOHN DOE",
                "contacts": [
                    {
                        "method": "fax",
                        "value": "8001234567"
                    }
                ]
            }
        ]
    },
    "payee": {
        "name": "Dental Group",
        "npi": "1234567890",
        "address": {
            "street1": "123 CALIFORNIA ST",
            "city": "SAN FRANCISCO",
            "zip": "94101",
            "state": "CA"
        },
        "references": [
            {
                "qualifier": "tax_id",
                "value": "123456789"
            }
        ]
    },
    "claims": [
        {
            "assigned_number": "1",
            "provider_id": "12345",
            "facility_type": "office",
            "fiscal_period_date": "01/01/2020",
            "claim_count": "2",
            "total_claim_charge_amount": "2000",
            "claim_payment_info": [
                {
                    "patient_control_number": "ABCDEFGHI",
                    "status": "processed_as_primary",
                    "total_charge_amount": "2000",
                    "claim_payment_amount": "500",
                    "claim_filing_indicator_code": "health_maintenance_organization",
                    "payer_claim_control_number": "2020010101203",
                    "facility_type": "office",
                    "patient": {
                        "member_id": "1234567890",
                        "first_name": "JANE",
                        "last_name": "DOE"
                    },
                    "rendering_provider": {
                        "npi": "1234567890",
                        "first_name": "JOHN",
                        "last_name": "DOE"
                    },
                    "date": {
                        "qualifier": "received",
                        "value": "01/01/2020"
                    },
                    "claim_supplemental_amount": {
                        "qualifier": "coverage_amount",
                        "value": "2000"
                    },
                    "service_payment_info": [
                        {
                            "product_service_detailed": {
                                "procedure_code": "D0210"
                            },
                            "line_charge_amount": "500",
                            "line_payment_amount": "250",
                            "units_of_service_paid": "1",
                            "date": {
                                "qualifier": "service",
                                "value": "01/01/2020"
                            },
                            "claim_supplemental_amount": {
                                "qualifier": "allowed_actual",
                                "value": "250"
                            },
                            "claim_adjustments": [
                                {
                                    "claim_adjustment_group_code": "contractual_obligations",
                                    "adjustment_amount": "250"
                                }
                            ],
                            "references": [
                                {
                                    "qualifier": "provider_control_number",
                                    "value": "P1234567"
                                }
                            ]
                        },
                        {
                            "product_service_detailed": {
                                "procedure_code": "D1110"
                            },
                            "line_charge_amount": "500",
                            "line_payment_amount": "250",
                            "units_of_service_paid": "1",
                            "date": {
                                "qualifier": "service",
                                "value": "01/01/2020"
                            },
                            "claim_supplemental_amount": {
                                "qualifier": "allowed_actual",
                                "value": "250"
                            },
                            "claim_adjustments": [
                                {
                                    "claim_adjustment_group_code": "contractual_obligations",
                                    "adjustment_amount": "250"
                                }
                            ],
                            "references": [
                                {
                                    "qualifier": "provider_control_number",
                                    "value": "P1234568"
                                }
                            ]
                        }
                    ]
                },
                ...
            ]
        }
    ]
}

Response Schema

Parameter Type Description
financial_info Financial Info Financial information regarding the claims submitted
payer Payer Payer of the ERA
payee Payee Payee of the ERA
claims [Claim] Detailed claim level information

ERA Payer Type

Parameter Type Description
name String Payer name
address Address Payer address
contact_info Contact Payer contact information

ERA Payee Type

Parameter Type Description
name String Payee name
npi String Payee NPI
address Address Payee address
references References Payer specific extra metadata

ERA Claim Type

Parameter Type Description
assigned_number String Claim grouping number
provider_id String Provider id number
facility_type String Type of facility - place of service
fiscal_period_date String The last date of the provider's fiscal year
claim_count String Number of claims
total_claim_charge_amount String Total amount charged for all claims (may not equal to what is actually paid out)
claim_payment_info [Claim Payment Info] Detailed claim payment information

Claim Payment Info

Parameter Type Description
patient_control_number String Patient control number
status String Status of the claim
total_charge_amount String Total amount charged for this claim
claim_payment_amount String Amount paid for this claim
claim_filing_indicator_code String Insurance plan code
payer_claim_control_number String Payer claim control number
facility_type String Type of facility - place of service
patient Patient Patient the claim is under
rendering_provider Provider Rendering provider of this claim
date Date Date object describing this claim
claim_supplemental_amount Claim Supplemental Amount Payer specific supplemental information
service_payment_info [Service Payment Info] Service level details

Service Payment Info

Parameter Type Description
product_service_detailed Product Service Detailed Product level details
line_charge_amount String Charge amount for this service
line_payment_amount String Amount paid for this service
units_of_service_paid String Units of service paid
date Date Date object describing this service
claim_supplemental_amount Claim Supplemental Amount Payer specific supplemental information
claim_adjustments [Claim Adjustment] Adjustments that track the difference between charge amount and paid amount
references References Payer specific extra metadata

Product Service Detailed

Parameter Type Description
procedure_code String Procedure code of the service
tooth_code String Tooth code
tooth_surface String Tooth surface

Claim Adjustment

Parameter Type Description
claim_adjustment_group_code Claim Adjustment Enum Descriptor of the adjustment
adjustment_amount String Amount that was adjusted

ERA Patient Type

Parameter Type Description
name String Patient full name, includes first name, middle name, and last name
first_name String Patient first name
middle_name String Patient middle name
last_name String Patient last name
dob String Patient date of birth in MM/DD/YYYY
member_id String Patient member ID

ERA Provider Type

Parameter Type Description
first_name String Provider first name
last_name String Provider last name
organization_name String Organization name if provider is not a person
tax_id String Provider tax id
npi String Provider npi

Claim Supplemental Amount Type

Parameter Type Description
qualifier Claim Supplemental Enum Use this in conjunction with the value
value String Use this in conjunction with the qualifier

Financial Info Type

Parameter Type Description
transaction_handling_code String Remittance information
payment_amount String Amount paid
transaction_type String Transaction Type
payment_method String Payment method type
issue_date String Date check is issued when the payer moves money and is available to the payee
check_number String Check number for these claims
payer_id String Payer ID
date Date Date related to the financial info
references References Payer specific extra metadata

TODO: add enum

Date Type

Parameter Type Description
qualifier Date Enum Date qualifier enum that is associated with the value
value String Date value

Date Type

Parameter Type Description
qualifier Reference Enum Reference qualifier enum that is associated with the value
value String Reference value

Contact Type

Parameter Type Description
contact_function String Contact function at the company
name String Contact name
contacts [Contact Method] Contact method information

Contact Method Type

Parameter Type Description
method Contact Method Enum Use this in conjunction with the value
value String Use this in conjunction with the qualifier

ERA Enums

Contact Method Enum

Parameter
alternate_telephone
beeper_number
cellular_phone
electronic_data_interchange_access_number
electronic_mail
telephone_extension
fax
home_phone_number
telephone
uniform_resource_locator_url
work_phone_number

Reference Enum

Parameter
account_number
master_account_number
client_reporting_category
plan_number
division_identifier
client_number
union_number
employee_identification_number
master_policy_number
family_unit_number
account_suffix_code
schedule_reference_number
state_license_number
subscriber_number
policy_form_identifying_number
blue_cross_provider_number
blue_shield_provider_number
medicare_provider_number
medicaid_provider_number
provider_upin_number
champus_identification_number
facility_id_number
payer_claim_number
group_or_policy_number
ambulatory_patient_group_apg_number
member_id
consolidated_invoice_number
payer_identification_number
case_number
branch_identifier
personal_identification_number_pin
special_payment_reference_number
application_number
cross_reference_number
group_number
provider_control_number
repriced_claim_reference_number
repriced_line_item_reference_number
adjusted_repriced_claim_reference_number
adjusted_repriced_line_item_reference_number
referral_number
pension_contract
servicer
payment_category
account_category
contracting_district_number
personal_id_number
alternative_list_id
ambulatory_payment_classification
health_insurance_policy_number
life_insurance_policy_number
authorization_number
billing_type
batch_number
class_of_contract_code
coverage_list_id
contract_number
national_council_for_prescription_drug_programs_pharmacy_number
claim_number
department_number
department_agency_number
service_contract_coverage_number
attachment_code
medical_record_identification_number
employers_identification_number
patient_account_number
electronic_device_pin_number
submitter_identification_number
receiver_identification_number
mammography_certification_number
version_code_local
facility_certification_number
medicare_version_code
health_insurance_claim_hic_number
original_reference_number
file_transfer_form_number
line_item_control_number
drug_formulary_number
claim_office_number
prior_authorization_number
provider_commercial_number
predetermination_of_benefits_identification_number
peer_review_organization_pro_approval_number
provider_site_number
geographic_number
identification_card_serial_number
health_industry_number_hin
identity_card_number
centers_for_medicare_and_medicaid_services_national_provider_identifier
insurance_certificate_number
issue_number
insurance_policy_number
invoice_number
user_identification
certification
lockbox
location_number
qualified_products_list
medical_assistance_category
eligibility_category
mothers_medical_record_identification_number
provider_plan_network_identification_number
plan_network_identification_number
facility_network_identification_number
national_association_of_insurance_commissioners_naic_code
medicaid_recipient_identification_number
administrators_reference_number
project_code
position_code
program_identification_number
payee_identification
health_care_provider_taxonomy_code
prior_identifier_number
unit_number
rate_code_number
social_security_number
signal_code
tax_id
voucher
link_sequence_number
clinical_laboratory_improvement_amendment_number
internal_control_number
issuer_number
special_program_code
service_area_code
pharmacy_prescription_number
agency_claim_number
geographic_key
carrier_assigned_reference_number
county_code
mutually_defined

Date Enum

Parameter
issue
estimated
service_period_start
service_period_end
effective_date_of_change
period_start
period_end
start
completion
claim_statement_period_start
claim_statement_period_end
retirement
coordination_of_benefits
plan
benefit
primary_care_provider
initial_disability_period_return_to_work
initial_disability_period_last_day_worked
enrollment_signature_date
consolidated_omnibus_budget_reconciliation_act_cobra_qualifying_event
maintenance_effective
latest_visit_or_consultation
eligibility
disability
added
employment_begin
employment_end
medicare_begin
medicare_end
consolidated_omnibus_budget_reconciliation_act_cobra_begin
consolidated_omnibus_budget_reconciliation_act_cobra_end
premium_paid_to_date_begin
premium_paid_to_date_end
coordination_of_benefits_begin
coordination_of_benefits_end
plan_begin
plan_end
benefit_begin
benefit_end
education_begin
education_end
eligibility_begin
eligibility_end
initial_disability_period_start
initial_disability_period_end
enrollment
adjusted_hire
credited_service_begin
credited_service_end
payment_commencement
plan_participation_suspension
rehire
production
onset_of_current_symptoms_or_illness
statement
admission
accident
prior_placement
date_of_death
first_visit_or_consultation
replacement
appliance_placement
acute_manifestation_of_a_chronic_condition
initial_treatment
last_x_ray
certification
last_certification
begin_therapy
prescription
service
medicaid_begin
medicaid_end
last_menstrual_period
policy_effective
policy_expiration
last_premium_paid_date
date_claim_paid
report_period
rejected
certification_revision
date_of_last_update
previous_period
most_recent_hemoglobin_or_hematocrit_or_both
most_recent_serum_creatine
status
effective
process
shipped
delivered
expiration
received
report_start
report_end
discharge
transaction_creation
due_date
event
estimated_date_of_birth

Claim Supplemental Enum

Parameter
noncovered_charges_actual
coverage_amount
allowed_actual
co_insurance_actual
co_payment_amount
claim_amount_due_estimated
payor_amount_paid
deductible_amount
discount_amount
per_day_limit
amount_owed
expected_expenditure_amount
patient_responsibility_estimated
postage_claimed
patient_amount_paid
other_unlisted_amount
goods_and_services_tax
interest
deduction_amount
miscellaneous_taxes
negative_ledger_balance
premium_amount
billed_amount
spend_down
tax
total_claim_before_taxes
total_submitted_charges
federal_medicare_or_medicaid_payment_mandate_category_1
federal_medicare_or_medicaid_payment_mandate_category_2
federal_medicare_or_medicaid_payment_mandate_category_3
federal_medicare_or_medicaid_payment_mandate_category_4
federal_medicare_or_medicaid_payment_mandate_category_5

Claim Adjustment Enum

Parameter
contractual_obligations
correction_and_reversals
other_adjustments
payor_initiated_reductions
patient_responsibility

Webhook

Register your webhook

Register Webhook Request

curl -X POST https://production.onederful.co/webhook/register \
  -H 'authorization: Bearer <ONEDERFUL_ACCESS_TOKEN>' \
  -H 'content-type: application/json' \
  -d '{
          "url":"XXX"
      }'

Registering your webhook URL with Onederful allows Onederful to push notifications directly to your server. By moving to an events driven notification system, Onederful is able to push notifications directly to you without you having to ping for updates. Setting up a webhook URL is helpful during the claim submission process, as insurances may take days to weeks to send a response.

Parameter Required Description
url true Your webhook URL, example: https://www..com/webhook

Payer List API

Request Payer List

Payer List request

curl -X GET https://production.onederful.co/payer/list

(EXAMPLE RESPONSE) Onederful supported Payer List (note: data has been abbreviated for length)

[
    {
        "id": "3M",
        "name": "3M Dental Services",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "32_BJ",
        "name": "32 BJ",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "AARP",
        "name": "AARP Dental Insurance Plan",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "ADMINISTRATIVE_SERVICES_ONLY",
        "name": "Administrative Services Only (ASO)",
        "features": [
            "eligibility",
            "claim_submission"
        ]
    },
    {
        "id": "ADVANTICA",
        "name": "Advantica",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "AETNA_DENTAL_PLANS",
        "name": "Aetna Dental Plans",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "AETNA_DMO",
        "name": "Aetna DMO",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
    {
        "id": "AFFINITY_HEALTH",
        "name": "Affinity Health Plan",
        "features": [
            "eligibility",
            "claim_submission",
            "era"
        ]
    },
    {
        "id": "ALIERA",
        "name": "Aliera Health Care",
        "features": [
            "eligibility",
            "claim_submission"
        ]
    },
    {
        "id": "ALLEGIANCE",
        "name": "Allegiance Benefit Plan Management, Inc.",
        "features": [
            "eligibility",
            "claim_submission",
            "claim_status",
            "era"
        ]
    },
   ...
]

This endpoint is helpful for saving Onederful's payer list into your own database. This list will be kept up to date with any new payers.

HTTP Request

GET https://production.onederful.co/payer/list

Response Schema

Parameter Type Description
id String Onederful payer ID, required when sending requests to Onederful APIs
name String Insurance name
feature [Features] Features enabled by this payer

Features

Parameter
eligibility
claim_submission
claim_status
era

Errors

Error Schema

(EXAMPLE RESPONSE) Error from insurance

{
    "message": "Payer Specific Error",
    "code": "payer_specific_error",
    "onederfulId": "1b2cdfr1-341x-25exb-ad15-454d513456af",
    "errors": [
        {
            "reason": "invalid_missing_subscriber_insured_id",
            "valid_request_indicator": "yes",
            "follow_up": "please_correct_and_resubmit",
            "payer_specific_message":"Please call (800)123-4567 for benefit information"
        }
    ]
}

Error response

Parameter Type Description
message String Free text message describing the error
code Error Code Categorized error code
onederfulId String Unique UUID passed back by Onederful in every response. You can just pass the onederfulId when emailing support@onederful.co for any questions about a specific transaction.
errors [Error] Structured error

Error

Parameter Type Description
reason Error Reason Error reason enum that describes the error
valid_request_indicator String can be either yes or no to specify if the request was a valid request on the payer side.
follow_up Error Followup Payer specified followup
payer_specific_message String Free text message that is specific to this payer
message String Free text message describing the error
path [String] Only for server_side_validation_error specifying the path of the missing/incorrect formatted input.

Onederful APIs uses the following error status codes:

Error Code Meaning
400 Bad Request -- Your request returned with an error.
401 Unauthorized -- You credentials are incorrect or you do not have permission to access the resource.

Sandbox

Eligibility Sandbox

Sandbox eligibility request. (Response is static stub data and does not change with dynamic input)

curl -X POST https://sandbox.onederful.co/sandbox/eligibility \
  -H 'content-type: application/json' \
  -d '{
          "subscriber": {
              "first_name": "TEST",
              "last_name": "PERSON",
              "dob": "01/01/2011",
              "member_id": "1234567890"
          },
          "provider": {
              "npi": "1234567890"
          },
          "payer": {
              "id": "PRINCIPAL"
          },
          "version": "v2"
      }'

The eligibility sandbox was created to showcase specific test case responses. The sandbox can be used effectively to get a sense of what data will be returned and basic validation. The quicker you can move to production data the better as the more real-life scenarios will be uncovered (i.e. the sandbox is just a snapshot of very specific test cases).

The sandbox is not meant for production data and should not be a replacement for full implementation. The sandbox data returns static mock data and does not represent all the variations of responses that you can recieve from insurance companies.

The currently supported test cases for sandbox are:

  1. PRINCIPAL (full dental eligiblity and benefits response)
  2. AETNA_DENTAL_PLANS (orthodontics flag set)
  3. DD_CALIFORNIA (general dental eligibility and benefits response)
  4. METLIFE (general dental eligibility and benefits response)

For request and response schemas please refer to Eligibility and Benefits API

Supplementary Material

Enums

Dental Service Type Enum

Parameter
dental
health_benefit_plan_coverage
diagnostic
periodontics
restorative
endodontics
maxillofacial_prosthetics
adjunctive_dental_services
crowns
orthodontics
prosthodontics
oral_surgery

Plan Period Enum

Parameter
year_to_date
calendar
contract
service
remaining
lifetime
lifetime_remaining
unknown

Coverage Level Enum

Parameter
family
individual
children_only
dependents_only
employee_and_children
employee_only
employee_and_spouse
spouse_and_children
spouse_only
unknown

Coverage Status Enum

Parameter
active
terminated
inactive
unknown

Error Code Enum

Parameter
invalid_payer_id
payer_specific_error
server_side_validation_error
inactive_member
contact_payer_directly
payer_cannot_process_request

Error Followup Enum

Parameter
please_correct_and_resubmit
resubmission_not_allowed
please_resubmit_original_transaction
resubmission_allowed
do_not_resubmit_inquiry_initiated_to_a_third_party
please_wait_30_days_and_resubmit
please_wait_10_days_and_resubmit
do_not_resubmit_we_will_hold_your_request_and_respond_again_shortly
try_adding_group_number_to_request
follow_payer_specific_message

Error Reason Enum

Parameter
required_application_data_missing
input_errors
out_of_network
authorization_access_restrictions
unable_to_respond_at_current_time
invalid_missing_provider_identification
invalid_missing_provider_name
invalid_missing_provider_specialty
invalid_missing_provider_phone_number
invalid_missing_provider_state
invalid_missing_referring_provider_identification_number
provider_is_not_primary_care_physician
provider_ineligible_for_inquiries
provider_not_on_file
service_dates_not_within_provider_plan_enrollment
inquired_benefit_inconsistent_with_provider_type
inappropriate_product_service_id_qualifier
inappropriate_product_service_id
inappropriate_date
invalid_missing_dates_of_service
invalid_missing_date_of_birth
date_of_birth_follows_dates_of_service
date_of_death_precedes_dates_of_service
date_of_service_not_within_allowable_inquiry_period
date_of_service_in_future
invalid_missing_patient_id
invalid_missing_patient_name
invalid_missing_patient_gender_code
patient_not_found
duplicate_patient_id_number
inconsistent_with_patients_age
inconsistent_with_patients_gender
patient_birth_date_does_not_match_that_for_the_patient_on_the_database
invalid_missing_subscriber_insured_id
invalid_missing_subscriber_insured_name
invalid_missing_subscriber_insured_gender_code
subscriber_insured_not_found
duplicate_subscriber_insured_id_number
subscriber_found_patient_not_found
subscriber_insured_not_in_group_plan_identified
invalid_participant_identification
no_response_received_transaction_terminated
patient_not_eligible
invalid_or_missing_provider_address
experimental_service_or_procedure
authorized_quantity_exceeded
authorization_number_not_found
requires_primary_care_physician_authorization
invalid_missing_diagnosis_codes
invalid_missing_procedure_codes
invalid_missing_onset_of_current_condition_or_illness_date
invalid_missing_accident_date
invalid_missing_last_menstrual_period_date
invalid_missing_expected_date_of_birth
invalid_missing_admission_date
invalid_missing_discharge_date
additional_patient_condition_information_required
certification_information_does_not_match_patient
requires_medical_review
invalid_authorization_number_format
inappropriate_provider_role
missing_authorization_number
cannot_identify_provider_as_tpo_third_party_organization_participant
cannot_identify_payer_as_tpo_third_party_organization_participant
cannot_identify_insured_as_tpo_third_party_organization_participant
payer_name_or_identifier_missing
certification_information_missing
claim_does_not_contain_enough_information_for_re_pricing
inactive_member

Network Enum

Parameter
in_network
out_of_network
epo
unknown
applies_all

Category Enum

Parameter
basic
major
preventive
orthodontics
basic_and_major
preventive_basic_and_major

Insurance Type Enum

Parameter
group_policy
hmo
ppo
indemnity
individual_policy

Service Type Enum

Parameter
tmj
dental_implants
fluoride
sealants
panoramic_images
prophylaxis
oral_evaluation
fmx
prosthodontics_removable
prosthodontics_fixed
diagnostic_imaging
preventive
oral_surgery
prosthodontics
orthodontics
dental_crowns
dental_care
health_benefit_plan_coverage
adjunctive_dental_services
maxillofacial_prosthetics
endodontics
restorative
periodontics
diagnostic_dental
diagnostic_lab
diagnostic_x_ray

Claim Status Status Enum

Parameter
cannot_provide_further_status_electronically
for_more_detailed_information_see_remittance_advice
more_detailed_information_in_letter
claim_has_been_adjudicated_and_is_awaiting_payment_cycle
balance_due_from_the_subscriber
one_or_more_originally_submitted_procedure_codes_have_been_combined
one_or_more_originally_submitted_procedure_code_have_been_modified
claim_encounter_has_been_forwarded_to_entity
claim_encounter_has_been_forwarded_by_third_party_entity_to_entity
entity_received_claim_encounter_but_returned_invalid_status
entity_acknowledges_receipt_of_claim_encounter
accepted_for_processing
missing_or_invalid_information
returned_to_entity
entity_not_approved_as_an_electronic_submitter
entity_not_approved
entity_not_found
policy_canceled
subscriber_and_policy_number_contract_number_mismatched
subscriber_and_subscriber_id_mismatched
subscriber_and_policyholder_name_mismatched
subscriber_and_policy_number_contract_number_not_found
subscriber_and_subscriber_id_not_found
subscriber_and_policyholder_name_not_found
claim_encounter_not_found
predetermination_is_on_file_awaiting_completion_of_services
awaiting_next_periodic_adjudication_cycle
charges_for_pregnancy_deferred_until_delivery
waiting_for_final_approval
special_handling_required_at_payer_site
awaiting_related_charges
charges_pending_provider_audit
awaiting_benefit_determination
internal_review_audit
internal_review_audit_partial_payment_made
pending_provider_accreditation_review
claim_waiting_for_internal_provider_verification
investigating_occupational_illness_accident
investigating_existence_of_other_insurance_coverage
claim_being_researched_for_insured_id_group_policy_number_error
duplicate_of_a_previously_processed_claim_line
claim_assigned_to_an_approver_analyst
awaiting_eligibility_determination
pending_cobra_information_requested
information_was_requested_by_a_non_electronic_method
information_was_requested_by_an_electronic_method
eligibility_for_extended_benefits
re_pricing_information
claim_line_has_been_paid
payment_reflects_usual_and_customary_charges
claim_contains_split_payment
payment_made_to_entity_assignment_of_benefits_not_on_file
duplicate_of_an_existing_claim_line_awaiting_processing
contract_plan_does_not_cover_pre_existing_conditions
no_coverage_for_newborns
service_not_authorized
entity_not_primary
diagnosis_and_patient_gender_mismatch
entity_not_eligible_for_benefits_for_submitted_dates_of_service
entity_not_eligible_for_dental_benefits_for_submitted_dates_of_service
entity_not_eligible_for_medical_benefits_for_submitted_dates_of_service
entity_not_eligible_not_approved_for_dates_of_service
entity_does_not_meet_dependent_or_student_qualification
entity_is_not_selected_primary_care_provider
entity_not_referred_by_selected_primary_care_provider
requested_additional_information_not_received
no_agreement_with_entity
patient_eligibility_not_found_with_entity
charges_applied_to_deductible
pre_treatment_review
pre_certification_penalty_taken
claim_was_processed_as_adjustment_to_previous_claim
newborns_charges_processed_on_mothers_claim
claim_combined_with_other_claims
processed_according_to_plan_provisions_plan_refers_to_provisions_that_exist_between_the_health_plan_and_the_consumer_or_patient
claim_line_is_capitated
this_amount_is_not_entitys_responsibility
processed_according_to_contract_provisions_contract_refers_to_provisions_that_exist_between_the_health_plan_and_a_provider_of_health_care_services
entity_not_eligible
claim_requires_pricing_information
at_the_policyholders_request_these_claims_cannot_be_submitted_electronically
claim_service_should_be_processed_by_entity
claim_submitted_to_incorrect_payer
claim_requires_signature_on_file_indicator
service_line_number_greater_than_maximum_allowable_for_payer
additional_information_requested_from_entity
entitys_name_address_phone_and_id_number
entitys_name
entitys_address
entitys_communication_number
entitys_tax_id
entitys_blue_cross_provider_id
entitys_blue_shield_provider_id
entitys_medicare_provider_id
entitys_medicaid_provider_id
entitys_upin
entitys_champus_provider_id
entitys_commercial_provider_id
entitys_health_industry_id_number
entitys_plan_network_id
entitys_site_id
entitys_health_maintenance_provider_id_hmo
entitys_preferred_provider_organization_id_ppo
entitys_administrative_services_organization_id_aso
entitys_license_certification_number
entitys_state_license_number
entitys_specialty_license_number
entitys_specialty_taxonomy_code
entitys_anesthesia_license_number
entitys_qualification_degree_designation_e
entitys_social_security_number
entitys_employer_id
entitys_drug_enforcement_agency_dea_number
pharmacy_processor_number
entitys_id_number
relationship_of_surgeon_assistant_surgeon
entitys_relationship_to_patient
patient_relationship_to_subscriber
entitys_gender
entitys_date_of_birth
entitys_date_of_death
entitys_marital_status
entitys_employment_status
entitys_health_insurance_claim_number_hicn
entitys_policy_group_number
entitys_contract_member_number
entitys_employer_name_address_and_phone
entitys_employer_name
entitys_employer_address
entitys_employer_phone_number
entitys_employee_id
other_insurance_coverage_information_health_liability_auto_etc
other_employer_name_address_and_telephone_number
entitys_name_address_phone_gender_dob_marital_status_employment_status_and_relation_to_subscriber
entitys_student_status
entitys_school_name
entitys_school_address
transplant_recipients_name_date_of_birth_gender_relationship_to_insured
submitted_charges
outside_lab_charges
hospitals_semi_private_room_rate
hospitals_room_rate
allowable_paid_from_other_entities_coverage_usage_this_code_requires_the_use_of_an_entity_code
amount_entity_has_paid
purchase_price_for_the_rented_durable_medical_equipment
rental_price_for_durable_medical_equipment
purchase_and_rental_price_of_durable_medical_equipment
dates_of_service
statement_from_through_dates
facility_admission_date
facility_discharge_date
date_of_last_menstrual_period_lmp
date_of_first_service_for_current_series_symptom_illness
first_consultation_evaluation_date
confinement_dates
unable_to_work_dates_disability_dates
return_to_work_dates
effective_coverage_dates
medicare_effective_date
date_of_conception_and_expected_date_of_delivery
date_of_equipment_return
date_of_dental_appliance_prior_placement
date_of_dental_prior_replacement_reason_for_replacement
date_of_dental_appliance_placed
date_dental_canals_opened_and_date_service_completed
dates_dental_root_canal_therapy_previously_performed
most_recent_date_of_curettage_root_planing_or_periodontal_surgery
dental_impression_and_seating_date
most_recent_date_pacemaker_was_implanted
most_recent_pacemaker_battery_change_date
date_of_the_last_x_ray
dates_of_dialysis_training_provided_to_patient
date_of_last_routine_dialysis
date_of_first_routine_dialysis
original_date_of_prescription_orders_referral
date_of_tooth_extraction_evolution
drug_information
drug_name_strength_and_dosage_form
ndc_number
prescription_number
drug_dispensing_units_and_average_wholesale_price_awp
route_of_drug_myelogram_administration
anatomical_location_for_joint_injection
anatomical_location
joint_injection_site
hospital_information
type_of_bill_for_ub_claim
hospital_admission_source
hospital_admission_hour
hospital_admission_type
admitting_diagnosis
hospital_discharge_hour
patient_discharge_status
units_of_blood_furnished
units_of_blood_replaced
units_of_deductible_blood
separate_claim_for_mother_baby_charges
dental_information
tooth_surfaces_involved
list_of_all_missing_teeth_upper_and_lower
tooth_numbers_surfaces_and_or_quadrants_involved
months_of_dental_treatment_remaining
tooth_number_or_letter
dental_quadrant_arch
total_orthodontic_service_fee_initial_appliance_fee_monthly_fee_length_of_service
line_information
place_of_service
type_of_service
total_anesthesia_minutes
entitys_prior_authorization_certification_number
principal_diagnosis_code
diagnosis_code
drg_codes
adsm_iii_r_code_for_services_rendered
days_units_for_procedure_revenue_code
frequency_of_service
length_of_medical_necessity_including_begin_date
obesity_measurements
type_of_surgery_service_for_which_anesthesia_was_administered
length_of_time_for_services_rendered
number_of_liters_minute_total_hours_day_for_respiratory_support
number_of_lesions_excised
facility_point_of_origin_and_destination_ambulance
number_of_miles_patient_was_transported
location_of_durable_medical_equipment_use
length_size_of_laceration_tumor
subluxation_location
number_of_spine_segments
oxygen_contents_for_oxygen_system_rental
weight
height
claim
ub04_hcfa_1450_1500_claim_form
paper_claim
claim_service_must_be_itemized
related_confinement_claim
copy_of_prescription
medicare_entitlement_information_is_required_to_determine_primary_coverage
copy_of_medicare_id_card
other_payers_explanation_of_benefits_payment_information
medical_necessity_for_service
hospital_late_charges
pre_existing_information
reason_for_termination_of_pregnancy
purpose_of_family_conference_therapy
reason_for_physical_therapy
supporting_documentation
attending_physician_report
nurses_notes
medical_notes_report
operative_report
emergency_room_notes_report
lab_test_report_notes_results
mri_report
radiology_x_ray_reports_and_or_interpretation
detailed_description_of_service
narrative_with_pocket_depth_chart
discharge_summary
progress_notes_for_the_six_months_prior_to_statement_date
pathology_notes_report
dental_charting
bridgework_information
dental_records_for_this_service
past_perio_treatment_history
complete_medical_history
x_rays_radiology_films
pre_post_operative_x_rays_photographs
study_models
recent_full_mouth_x_rays
study_models_x_rays_and_or_narrative
recent_x_ray_of_treatment_area_and_or_narrative
recent_fm_x_rays_and_or_narrative
copy_of_transplant_acquisition_invoice
periodontal_case_type_diagnosis_and_recent_pocket_depth_chart_with_narrative
exercise_notes
occupational_notes
history_and_physical
patient_release_of_information_authorization
oxygen_certification
durable_medical_equipment_certification
chiropractic_certification
ambulance_certification_documentation
enteral_parenteral_certification
pacemaker_certification
private_duty_nursing_certification
podiatric_certification
documentation_that_facility_is_state_licensed_and_medicare_approved_as_a_surgical_facility
documentation_that_provider_of_physical_therapy_is_medicare_part_b_approved
treatment_plan_for_service_diagnosis
proposed_treatment_plan_for_next_6_months
duration_of_treatment_plan
orthodontics_treatment_plan
treatment_plan_for_replacement_of_remaining_missing_teeth
benefits_assignment_certification_indicator
possible_workers_compensation
is_accident_illness_condition_employment_related
is_service_the_result_of_an_accident
is_injury_due_to_auto_accident
is_prescribed_lenses_a_result_of_cataract_surgery
was_refraction_performed
crna_supervision_medical_direction
did_provider_authorize_generic_or_brand_name_dispensing
nerve_block_use_surgery_vs
is_prosthesis_crown_inlay_placement_an_initial_placement_or_a_replacement
is_appliance_upper_or_lower_arch_is_appliance_fixed_or_removable
orthodontic_treatment_purpose_indicator
date_patient_last_examined_by_entity
date_post_operative_care_assumed
date_post_operative_care_relinquished
date_of_most_recent_medical_event_necessitating_services
dates_dialysis_conducted
dates_of_most_recent_hospitalization_related_to_service
date_entity_signed_certification_recertification_usage_this_code_requires_use_of_an_entity_code
date_home_dialysis_began
date_of_onset_exacerbation_of_illness_condition
visual_field_test_results
claim_is_out_of_balance
source_of_payment_is_not_valid
amount_must_be_greater_than_zero
entity_referral_notes_orders_prescription
brief_medical_history_as_related_to_services
complications_mitigating_circumstances
initial_certification
medication_logs_records_including_medication_therapy
necessity_for_concurrent_care_more_than_one_physician_treating_the_patient
prior_testing_including_results_and_dates_as_related_to_services
individual_tests_comprising_the_panel_and_the_charges_for_each_test
name_dosage_and_medical_justification_of_contrast_material_used_for_radiology_procedure
reason_for_transport_by_ambulance
nearest_appropriate_facility
patients_condition_functional_status_at_time_of_service
date_benefits_exhausted
copy_of_patient_revocation_of_hospice_benefits
reasons_for_more_than_one_transfer_per_entitlement_period
notice_of_admission
entity_professional_qualification_for_services
modalities_of_service
initial_evaluation_report
projected_date_to_discontinue_services
awaiting_spend_down_determination
preoperative_and_post_operative_diagnosis
total_visits_in_total_number_of_hours_day_and_total_number_of_hours_week
procedure_code_modifiers_for_services_rendered
procedure_code_for_services_rendered
revenue_code_for_services_rendered
covered_days
non_covered_days
coinsurance_days
lifetime_reserve_days
nubc_condition_codes
payer_assigned_claim_control_number
principal_procedure_code_for_services_rendered
entitys_original_signature
entity_signature_date
patient_signature_source
purchase_service_charge
was_service_purchased_from_another_entity_usage_this_code_requires_use_of_an_entity_code
were_services_related_to_an_emergency
ambulance_run_sheet
missing_or_invalid_lab_indicator
procedure_code_and_patient_gender_mismatch
procedure_code_not_valid_for_patient_age
missing_or_invalid_units_of_service
diagnosis_code_pointer_is_missing_or_invalid
claim_submitters_identifier
other_carrier_payer_id_is_missing_or_invalid
entitys_claim_filing_indicator
claim_submission_format_is_invalid
maximum_coverage_amount_met_or_exceeded_for_benefit_period
business_application_currently_not_available
more_information_available_than_can_be_returned_in_real_time_mode
principal_procedure_date
claim_not_found_claim_should_have_been_submitted_to_through_entity
diagnosis_codes_for_the_services_rendered
attachment_control_number
other_procedure_code_for_services_rendered
entity_not_eligible_for_encounter_submission
other_procedure_date
version_release_industry_id_code_not_currently_supported_by_information_holder
real_time_requests_not_supported_by_the_information_holder_resubmit_as_batch_request_this_change_effective_september_1_2017_real_time_requests_not_supported_by_the_information_holder_resubmit_as_batch_request
requests_for_re_adjudication_must_reference_the_newly_assigned_payer_claim_control_number_for_this_previously_adjusted_claim
submitter_not_approved_for_electronic_claim_submissions_on_behalf_of_this_entity
sales_tax_not_paid
maximum_leave_days_exhausted
no_rate_on_file_with_the_payer_for_this_service_for_this_entity_usage_this_code_requires_use_of_an_entity_code
entitys_postal_zip_code
entitys_state_province
entitys_city
entitys_street_address
entitys_last_name
entitys_first_name
entity_is_changing_processor_clearinghouse
hcpcs
icd9_usage_at_least_one_other_status_code_is_required_to_identify_the_related_procedure_code_or_diagnosis_code
external_cause_of_injury_code
future_date
invalid_character
length_invalid_for_receivers_application_system
hipps_rate_code_for_services_rendered
entitys_middle_name_usage_this_code_requires_use_of_an_entity_code
managed_care_review
other_entitys_adjudication_or_payment_remittance_date
adjusted_repriced_claim_reference_number
adjusted_repriced_line_item_reference_number
adjustment_amount
adjustment_quantity
adjustment_reason_code
anesthesia_modifying_units
anesthesia_unit_count
arterial_blood_gas_quantity
begin_therapy_date
bundled_or_unbundled_line_number
certification_condition_indicator
certification_period_projected_visit_count
certification_revision_date
claim_adjustment_indicator
claim_disproportinate_share_amount
claim_drg_amount
claim_drg_outlier_amount
claim_esrd_payment_amount
claim_frequency_code
claim_indirect_teaching_amount
claim_msp_pass_through_amount
claim_or_encounter_identifier
claim_pps_capital_amount
claim_pps_capital_outlier_amount
claim_submission_reason_code
claim_total_denied_charge_amount
clearinghouse_or_value_added_network_trace
clinical_laboratory_improvement_amendment_clia_number
contract_amount
contract_code
contract_percentage
contract_type_code
contract_version_identifier
coordination_of_benefits_code
coordination_of_benefits_total_submitted_charge
cost_report_day_count
covered_amount
date_claim_paid
delay_reason_code
demonstration_project_identifier
diagnosis_date
discount_amount
document_control_identifier
entitys_additional_secondary_identifier
entitys_contact_name
entitys_national_provider_identifier_npi
entitys_tax_amount
epsdt_indicator
estimated_claim_due_amount
exception_code
facility_code_qualifier
family_planning_indicator
fixed_format_information
frequency_count
frequency_period
functional_limitation_code
hcpcs_payable_amount_home_health
homebound_indicator
immunization_batch_number
industry_code
insurance_type_code
investigational_device_exemption_identifier
last_certification_date
last_worked_date
lifetime_psychiatric_days_count
line_item_charge_amount
line_item_control_number
denied_charge_or_non_covered_charge
line_note_text
measurement_reference_identification_code
medical_record_number
provider_accept_assignment_code
medicare_coverage_indicator
medicare_paid_at_100_amount
medicare_paid_at_80_amount
medicare_section_4081_indicator
mental_status_code
monthly_treatment_count
non_covered_charge_amount
non_payable_professional_component_amount
non_payable_professional_component_billed_amount
note_reference_code
oxygen_saturation_qty
oxygen_test_condition_code
oxygen_test_date
old_capital_amount
originator_application_transaction_identifier
orthodontic_treatment_months_count
paid_from_part_a_medicare_trust_fund_amount
paid_from_part_b_medicare_trust_fund_amount
paid_service_unit_count
participation_agreement
patient_discharge_facility_type_code
peer_review_authorization_number
per_day_limit_amount
physician_contact_date
physician_order_date
policy_compliance_code
policy_name
postage_claimed_amount
pps_capital_dsh_drg_amount
pps_capital_exception_amount
pps_capital_fsp_drg_amount
pps_capital_hsp_drg_amount
pps_capital_ime_amount
pps_operating_federal_specific_drg_amount
pps_operating_hospital_specific_drg_amount
predetermination_of_benefits_identifier
pregnancy_indicator
pre_tax_claim_amount
pricing_methodology
property_casualty_claim_number
referring_clia_number
reimbursement_rate
reject_reason_code
related_causes_code_accident_auto_accident_employment
remark_code
repriced_ambulatory_patient_group_code
repriced_line_item_reference_number
repriced_saving_amount
repricing_per_diem_or_flat_rate_amount
responsibility_amount
sales_tax_amount
service_authorization_exception_code
service_line_paid_amount
service_line_rate
service_tax_amount
ship_delivery_or_calendar_pattern_code
shipped_date
similar_illness_or_symptom_date
skilled_nursing_facility_indicator
special_program_indicator
state_industrial_accident_provider_number
terms_discount_percentage
test_performed_date
total_denied_charge_amount
total_medicare_paid_amount
total_visits_projected_this_certification_count
total_visits_rendered_count
treatment_code
unit_or_basis_for_measurement_code
universal_product_number
visits_prior_to_recertification_date_count_cr702
x_ray_availability_indicator
entitys_group_name
orthodontic_banding_date
surgery_date
surgical_procedure_code
real_time_requests_not_supported_by_the_information_holder_do_not_resubmit_this_change_effective_september_1_2017_real_time_requests_not_supported_by_the_information_holder_do_not_resubmit
missing_endodontics_treatment_history_and_prognosis
dental_service_narrative_needed
funds_applied_from_a_consumer_spending_account_such_as_consumer_directed_driven_health_plan_cdhp_health_savings_account_hsa_and_or_other_similar_accounts
funds_may_be_available_from_a_consumer_spending_account_such_as_consumer_directed_driven_health_plan_cdhp_health_savings_account_hsa_and_or_other_similar_accounts
other_payers_payment_information_is_out_of_balance
patient_reason_for_visit
authorization_exceeded
facility_admission_through_discharge_dates
entity_possibly_compensated_by_facility
entity_not_affiliated
revenue_code_and_patient_gender_mismatch
submit_newborn_services_on_mothers_claim
entitys_country
claim_currency_not_supported
cosmetic_procedure
awaiting_associated_hospital_claims
rejected
claim_could_not_complete_adjudication_in_real_time
claim_encounter_has_completed_the_adjudication_cycle_and_the_entire_claim_has_been_voided
claim_estimation_can_not_be_completed_in_real_time
present_on_admission_indicator_for_reported_diagnosis_codes
entity_was_unable_to_respond_within_the_expected_time_frame
multiple_claims_or_estimate_requests_cannot_be_processed_in_real_time
multiple_claim_status_requests_cannot_be_processed_in_real_time
contracted_funding_agreement_subscriber_is_employed_by_the_provider_of_services
amount_must_be_greater_than_or_equal_to_zero
amount_must_not_be_equal_to_zero
entitys_country_subdivision_code
claim_adjustment_group_code
invalid_decimal_precision
form_type_identification
question_response_from_supporting_documentation_form
icd10
initial_treatment_date
repriced_claim_reference_number
advanced_billing_concepts_abc_code
claim_note_text
repriced_allowed_amount
repriced_approved_amount
repriced_approved_ambulatory_patient_group_amount
repriced_approved_revenue_code
repriced_approved_service_unit_count
line_adjudication_information
stretcher_purpose
obstetric_additional_units
patient_condition_description
care_plan_oversight_number
acute_manifestation_date
repriced_approved_drg_code
this_claim_has_been_split_for_processing
claim_service_not_submitted_within_the_required_timeframe_timely_filing
nubc_occurrence_codes
nubc_occurrence_code_dates
nubc_occurrence_span_codes
nubc_occurrence_span_code_dates
drug_days_supply
drug_dosage
nubc_value_codes
nubc_value_code_amounts
accident_date
accident_state
accident_description
accident_cause
measurement_value_test_result
information_submitted_inconsistent_with_billing_guidelines
prefix_for_entitys_contract_member_number
verifying_premium_payment
this_service_claim_is_included_in_the_allowance_for_another_service_or_claim
a_related_or_qualifying_service_claim_has_not_been_received_adjudicated
current_dental_terminology_cdt_code
home_infusion_edi_coalition_heic_product_service_code
jurisdiction_specific_procedure_or_supply_code
drop_off_location
entity_must_be_a_person
payer_responsibility_sequence_number_code
entitys_credential_enrollment_information
services_charges_related_to_the_treatment_of_a_hospital_acquired_condition_or_preventable_medical_error
identifier_qualifier_usage_at_least_one_other_status_code_is_required_to_identify_the_specific_identifier_qualifier_in_error
duplicate_submission_usage_use_only_at_the_information_receiver_level_in_the_health_care_claim_acknowledgement_transaction
hospice_employee_indicator
corrected_data_usage_requires_a_second_status_code_to_identify_the_corrected_data
date_of_injury_illness
auto_accident_state_or_province_code
ambulance_pick_up_state_or_province_code
ambulance_drop_off_state_or_province_code
co_pay_status_code
entity_name_suffix
entitys_primary_identifier
entitys_received_date
last_seen_date
repriced_approved_hcpcs_code
round_trip_purpose_description
tooth_status_code
entitys_referral_number
locum_tenens_provider_identifier
ambulance_pickup_zip_code
professional_charges_are_non_covered
institutional_charges_are_non_covered
services_were_performed_during_a_health_insurance_exchange_hix_premium_payment_grace_period
qualifications_for_emergent_urgent_care
service_date_outside_the_accidental_injury_coverage_period
dme_repair_or_maintenance
duplicate_of_a_claim_processed_or_in_process_as_a_crossover_coordination_of_benefits_claim
claim_submitted_prematurely
greatest_level_of_diagnosis_code_specificity_is_required
one_calendar_year_per_claim
experimental_investigational
entity_type_qualifier_person_non_person_entity
pre_post_operative_care
processed_based_on_multiple_or_concurrent_procedure_rules
non_compensable_incident_event
service_submitted_for_the_same_similar_service_within_a_set_timeframe
lifetime_benefit_maximum
claim_has_been_identified_as_a_readmission
second_surgical_opinion
federal_sequestration_adjustment
electronic_visit_verification_criteria_do_not_match
missing_invalid_sterilization_abortion_hospital_consent_form
submit_claim_to_the_third_party_property_and_casualty_automobile_insurer
resubmit_a_new_claim_not_a_replacement_claim
submit_these_services_to_the_patients_pharmacy_plan_for_further_consideration
submit_these_services_to_the_patients_medical_plan_for_further_consideration
submit_these_services_to_the_patients_dental_plan_for_further_consideration
submit_these_services_to_the_patients_vision_plan_for_further_consideration
submit_these_services_to_the_patients_behavioral_health_plan_for_further_consideration
submit_these_services_to_the_patients_property_and_casualty_plan_for_further_consideration