Data feed documentation

Getting started

Overview

There are two types of files to provide: daily data files that keep claim and member information up to date, and initial setup files that explain your plans, benefits, and contacts.

Send the setup files before your service goes live. Then send the daily data files using the delivery schedule agreed with your EHVAhealth team. Setup files only need to be sent again when their information changes.

Choose a daily cutoff with your EHVAhealth team, such as 6 AM Eastern. Use your dedicated SFTP account to upload files directly. Confirm your connection details before working through the first-delivery checklist.

Upload securely with SFTP

EHVAhealth provides a dedicated SFTP account for your organization. During setup, your EHVAhealth team supplies the server address, port, username, authentication details, and upload folder.

Upload your daily data files and initial setup files directly to that folder. SFTP (Secure File Transfer Protocol) encrypts files during transfer. Your account is restricted to your organization’s upload area, and files are not publicly accessible.

Automate your deliveries

You can schedule file exports and SFTP uploads from your existing system using Option A or Option B. Routine data-file processing is automatic, with no manual handoff needed for each delivery.

Confirm the connection and complete the first-delivery checklist before enabling scheduled uploads.

Daily data files

These are the files you send regularly to keep answers current. They help EHVAhealth answer questions such as “Has this claim been paid?” and “Is this member covered today?”

Both delivery options use the four file types below. Follow Option A: full daily files or Option B: daily changes for the exact schedule and filenames. Accumulators are always sent as a full file every day.

Claims
One row per claim, including its status, service and payment dates, provider details, and amounts.
Claim lines
One row per service line, including the procedure code, service date, amounts, and remark codes. Each line links to its claim through claim_num.
Eligibility
One row per covered person, with member and subscriber identifiers and separate medical, dental, and vision coverage dates.
Accumulators
One row per covered person, showing deductible and out-of-pocket amounts met in the current plan year. Always send a full file daily.

Separate files for initial setup

Send your plan information, remark-code descriptions, plan documents, benefit summaries, and prior authorization information once before your service goes live. These help EHVAhealth explain your coverage rules and give callers the right contact details.

Do not include these in every daily delivery. Send an updated version only when the information changes, such as a new plan year or a different contact number. See initial setup files for filenames and contents.

Delivery schedules

Option A: full files every day

Send four full files: claims, claim lines, eligibility, and accumulators. Each file contains every record for its type and completely replaces the previous file of that type.

Schedule
Every day, including weekends
Contents
All records
Effect
Complete replacement

Send one file per type by the daily cutoff agreed with your EHVAhealth team, such as 6 AM Eastern. In the filenames below, YYYYMMDD is the extract date; for example, claims_20261006.csv.

Files to send

Claims
claims_YYYYMMDD.csv
Claim lines
claim_lines_YYYYMMDD.csv
Eligibility
eligibility_YYYYMMDD.csv
Accumulators
accumulators_YYYYMMDD.csv

What to include

Include every record, including old claims and terminated members from at least the last year. Keep the corresponding service lines with the claims you send.

A missing record is treated as gone.

A full file must include every record you intend to keep for that file type. Records left out are treated as removed.

If a day is missed

No separate catch-up file is needed. The next day’s complete files bring all four datasets up to date. If you use change files instead, follow the missed change-file instructions.

Option B: daily changes + weekly full files

On weekdays, send only records added or changed since the previous file for that type. Every Sunday, send full claims, claim lines, and eligibility files. Each full file replaces the previous data for its type and corrects any gaps. Accumulators always arrive as a full file every day because these balances change frequently.

Send one file per type on the days shown below, by the cutoff agreed with your EHVAhealth team, such as 6 AM Eastern. Use the extract date for YYYYMMDD in each filename. Follow the three change-file rules when preparing weekday files.

Monday–Friday

Claims, claim lines, and eligibility changes. Full accumulators.

Saturday

Full accumulators. No scheduled change files.

Sunday

Full claims, claim lines, eligibility, and accumulators.

Weekday change files

Claims
claims_changes_YYYYMMDD.csv
Claim lines
claim_lines_changes_YYYYMMDD.csv
Eligibility
eligibility_changes_YYYYMMDD.csv

Sunday full files

Claims
claims_full_YYYYMMDD.csv
Claim lines
claim_lines_full_YYYYMMDD.csv
Eligibility
eligibility_full_YYYYMMDD.csv

Every day, including weekends

Accumulators
accumulators_YYYYMMDD.csv

Sunday full files follow the full-file replacement rule: records not present are treated as gone. Include old claims and terminated members from at least the last year.

Three rules for change files

  1. Include every column

    When a record is added or changed, send its complete row using the field definitions. Even if only one value changes, include all the other values too.

  2. Send cancellations and coverage endings

    Leaving a record out of a change file keeps its previous values. To report a voided claim or ended coverage, send the complete row again with its updated status or coverage end date.

    For a voided claim, set claim_status to Voided. For coverage that ends, fill in the relevant coverage end date: med_end_date, den_end_date, or vis_end_date.

  3. No changes? Send the header row

    Send all three weekday change files every Monday–Friday. If a file type has no added or changed records, send that file with only its header row (column names). Send the other files with their changed records as usual.

    This tells EHVAhealth that nothing changed for that file type and the delivery was not missed. The header-only rule applies to change files. Full files must still contain every record, even when nothing changed.

If a change file is missed

Send the missed file as soon as possible. The Sunday full file corrects any remaining gaps. Do not wait until Sunday to send a missed change file.

Keep full files and change files clearly named. A partial export must never be named as a full file.

Data reference

Keep formats consistent

  • Headers: use the column names in the field definitions, including their underscores.
  • Identifiers: transmit IDs, SSNs, claim numbers, and check numbers as text. Preserve leading zeros.
  • Dates: use YYYY-MM-DD inside files. Leave unavailable dates blank; never use placeholders such as 1899-12-31 or 9999-12-31. Use the extract date in YYYYMMDD format in filenames.
  • Amounts: use USD with two decimal places, such as 1234.50. Omit currency symbols and thousands separators.
  • Text: use normal mixed case for names and descriptions. Keep defined status and code values exactly as specified.
  • Terminated groups: keep them in the eligibility file for at least one year after termination.
  • Nullable fields: may be blank when no value applies. Keep 0.00 distinct from a blank accumulator value.
  • CSV values: quote fields containing commas, such as a list of remark codes. Keep all columns in each change-file row.

Field definitions

Use the column names below in your CSV header row and follow the data format rules. In the Value column, Required means the cell must have a value; Nullable means it may be blank when no value applies. Field priority is separate: a required field can still be nullable, such as a payment date before a claim is paid. The guidance marks required and optional nullable fields. Optional fields help EHVAhealth answer more questions when your system has the information. Keep every column in each row, including rows in change files.

Claims

30 fields

One row per claim. Claim numbers connect the claim to its service lines; member IDs connect it to eligibility.

Column nameTypeValueGuidance
member_idTextRequired

Use the same covered-person identifier across claims, eligibility, and accumulators.

patients_last_nameTextRequired

Patient’s last name.

patients_first_nameTextRequired

Patient’s first name.

social_security_numberTextRequired

Send nine digits as text with no dashes; preserve leading zeros. If no SSN is available, use the subscriber SSN plus dependent ID in the format agreed with EHVA. Match the value across claims and eligibility.

patients_dobDateRequired

Covered person’s date of birth, in YYYY-MM-DD.

claim_numTextRequired

Unique claim identifier. Service lines use the same value to link to their claim.

original_claim_numTextNullable

Optional field. For an adjustment, void, reversal, or duplicate, identify the original claim. Leave blank for an ordinary claim.

claim_statusTextRequired

Use Paid, Ready to pay, Pended, Voided, Refunded, Denied, or Exclusion. Confirm the status mapping with EHVAhealth before the first delivery.

claim_eob_messageTextNullable

Optional field. A plain-language explanation that supports the claim status.

remark_codesTextNullable

Required field. Comma-separated claim remark or adjustment codes. Supply the code descriptions separately.

claim_start_dateDateRequired

Service date, or admission date for an inpatient claim. Use YYYY-MM-DD.

provider_nameTextRequired

Billing provider’s name or organization name.

provider_tinTextRequired

Billing provider’s nine-digit tax identifier; preserve it as text.

provider_npiTextRequired

Billing provider’s ten-digit NPI; preserve it as text.

network_statusTextNullable

Optional field. Use In network or Out of network.

plan_idTextNullable

Optional field. Match the plan identifier in plan information. For plan information, provide one row per group and plan.

claim_received_dateDateRequired

Date the TPA received the claim. Use YYYY-MM-DD.

claim_processed_dateDateNullable

Required field. Processing date in YYYY-MM-DD. Leave blank until processing is complete.

claim_paid_dateDateNullable

Required field. Payment date in YYYY-MM-DD. Leave blank until paid.

claim_total_chargesAmountRequired

Total amount billed by the provider. USD, with two decimal places.

claim_discount_amountAmountRequired

Total discounts applied to the billed charges. USD, with two decimal places. Use 0.00 when there is no amount.

claim_allowed_amountAmountRequired

Amount allowed for the claim. USD, with two decimal places. Use 0.00 when there is no amount.

claim_copay_amountAmountRequired

Copay amount applied to the claim. USD, with two decimal places. Use 0.00 when there is no amount.

claim_coinsurance_amountAmountRequired

Coinsurance amount applied to the claim. USD, with two decimal places. Use 0.00 when there is no amount.

claim_deductible_amountAmountRequired

Deductible amount applied to the claim. USD, with two decimal places. Use 0.00 when there is no amount.

claim_paid_amountAmountRequired

Amount paid to the provider. USD, with two decimal places. Use 0.00 when there is no amount.

payment_methodTextNullable

Optional field. Use Check, EFT, or Virtual card. Leave blank until paid.

check_numberTextNullable

Required field. Check number or EFT trace identifier. Preserve leading zeros; leave blank until paid.

check_payeeTextNullable

Optional field. Person or organization receiving the payment.

group_policy_numberTextRequired

Employer group identifier used to connect the member or claim to plan information.

Claim lines

8 fields

One row per service line, linked to a claim by claim_num. Export the line-level values directly. Use the remark-code file to provide descriptions for the codes you send.

Column nameTypeValueGuidance
claim_numTextRequired

Unique claim identifier. Service lines use the same value to link to their claim.

line_numberIntegerRequired

Service-line number within the claim.

line_service_dateDateRequired

Date of service for this line, in YYYY-MM-DD.

procedure_codeTextRequired

CPT or HCPCS procedure code billed on the service line.

line_billed_amountAmountRequired

Amount billed for this service line. USD, with two decimal places.

line_allowed_amountAmountRequired

Amount allowed for this service line. USD, with two decimal places. Use 0.00 when there is no amount.

line_paid_amountAmountRequired

Amount paid for this service line. USD, with two decimal places. Use 0.00 when there is no amount.

line_remark_codesTextNullable

Required field. Comma-separated remark or adjustment codes applying to this service line.

Eligibility

19 fields

One row per covered person, with separate medical, dental, and vision coverage fields. Use the same member identifiers in claims and accumulators. Provide the associated plan details in plan information.

Column nameTypeValueGuidance
member_idTextRequired

Use the same covered-person identifier across claims, eligibility, and accumulators.

subscriber_idTextRequired

Insurance-card identifier shared by members of the same family.

dependent_idTextRequired

Keep the zero-padded person code: 00 for the subscriber, 01 and above for dependents.

relationshipTextNullable

Optional field. Use Subscriber, Spouse, Child, or Other.

lastnameTextRequired

Member’s last name.

firstnameTextRequired

Member’s first name.

social_security_numberTextRequired

Send nine digits as text with no dashes; preserve leading zeros. If no SSN is available, use the subscriber SSN plus dependent ID in the format agreed with EHVA. Match the value across claims and eligibility.

patients_dobDateRequired

Covered person’s date of birth, in YYYY-MM-DD.

group_nameTextRequired

Employer group or plan sponsor name.

group_policy_numberTextRequired

Employer group identifier used to connect the member or claim to plan information.

med_plan_idTextNullable

Required field. Match plan_id in plan information. Leave blank when the member has no coverage of this type.

med_start_dateDateNullable

Required field. Coverage start date for this benefit type, in YYYY-MM-DD.

med_end_dateDateNullable

Required field. Coverage end date in YYYY-MM-DD. Leave blank for active coverage with no set end date; do not use 9999-12-31.

den_plan_idTextNullable

Required field. Match plan_id in plan information. Leave blank when the member has no coverage of this type.

den_start_dateDateNullable

Required field. Coverage start date for this benefit type, in YYYY-MM-DD.

den_end_dateDateNullable

Required field. Coverage end date in YYYY-MM-DD. Leave blank for active coverage with no set end date; do not use 9999-12-31.

vis_plan_idTextNullable

Required field. Match plan_id in plan information. Leave blank when the member has no coverage of this type.

vis_start_dateDateNullable

Required field. Coverage start date for this benefit type, in YYYY-MM-DD.

vis_end_dateDateNullable

Required field. Coverage end date in YYYY-MM-DD. Leave blank for active coverage with no set end date; do not use 9999-12-31.

Accumulators

18 fields

One row per covered person. Values describe amounts met in the current plan year. Family totals belong only on subscriber rows. Match member and subscriber identifiers to eligibility, and send a full file every day under either delivery schedule.

Column nameTypeValueGuidance
member_idTextRequired

Use the same covered-person identifier across claims, eligibility, and accumulators.

subscriber_idTextRequired

Insurance-card identifier shared by members of the same family.

dependent_idTextRequired

Keep the zero-padded person code: 00 for the subscriber, 01 and above for dependents.

last_nameTextRequired

Member’s last name.

first_nameTextRequired

Member’s first name.

dobDateRequired

Covered person’s date of birth, in YYYY-MM-DD.

medical_individual_deductibleAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

medical_individual_out_of_pocketAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

medical_family_deductibleAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

medical_family_out_of_pocketAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

medical_individual_deductible_oonAmountNullable

Optional field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

medical_individual_out_of_pocket_oonAmountNullable

Optional field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

medical_family_deductible_oonAmountNullable

Optional field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

medical_family_out_of_pocket_oonAmountNullable

Optional field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

dental_individual_deductibleAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

dental_individual_out_of_pocketAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable.

dental_family_deductibleAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

dental_family_out_of_pocketAmountNullable

Required field. USD accumulated in the current plan year. Use 0.00 for no amount accumulated; leave blank when not applicable. Family totals belong only on subscriber rows (dependent_id 00); leave dependent rows blank.

Plan information

18 fields

One row per group and plan. Provide at onboarding and update whenever plan details or contacts change. Send this with your initial setup files. Match each group and plan to the identifiers in eligibility.

Column nameTypeValueGuidance
plan_idTextRequired

Match the plan identifier in plan information. For plan information, provide one row per group and plan.

group_policy_numberTextRequired

Employer group identifier used to connect the member or claim to plan information.

group_nameTextRequired

Employer group or plan sponsor name.

network_typeTextRequired

Plan or network model, such as PPO, HMO, or HDHP PPO.

carrier_infoTextRequired

Name the carrier or network. Identify a self-funded plan that has no network.

claims_mailing_addressTextRequired

Postal address for submitting claims.

eob_portal_infoTextNullable

Optional field. Provider portal URL for claim information and EOBs, when available.

claims_electronic_payer_idTextNullable

Optional field. Payer identifier used for electronic claim submission.

payment_vendorTextNullable

Optional field. Company issuing payments when this is handled outside the TPA.

payment_vendor_contactTextNullable

Optional field. Phone number for payment questions.

pharmacy_benefit_managerTextNullable

Optional field. Company administering the plan’s pharmacy benefits.

pharmacy_phoneTextNullable

Optional field. Phone number for pharmacy benefit questions.

prior_auth_contactTextNullable

Optional field. Prior authorization contact and phone number.

filing_deadlineTextNullable

Optional field. Claim filing time limit measured from the service date.

appeal_windowTextNullable

Optional field. Time allowed to appeal after a denial.

appeal_addressTextNullable

Optional field. Postal destination for appeals.

appeal_fax_emailTextNullable

Optional field. Fax number or email address for appeals.

records_fax_emailTextNullable

Optional field. Destination for medical records and itemized bills.

Initial setup files

Send once before your service goes live

These files explain your plans, benefits, claim codes, and contact details. They help EHVAhealth answer questions such as “Does this service need prior authorization?” or “Who should I contact about a payment?”

Send them during initial setup. You do not need to resend them with your daily data files. Send a replacement when a plan, code, document, or contact changes, including at renewal.

Plan information
plan_information.xlsx

Plan details and contact information, with one row per group and plan. Send during setup; update when a plan or contact changes.

Remark codes
remark_codes.csv

The meaning of each remark code in claims or claim lines. Use two columns: code and description. Send during setup; update when codes are added or changed.

Plan documents
<group number>_<plan ID>_SPD.pdf

Your Summary Plan Description and any amendments. Send during setup; send the current version at renewal or when a plan is amended.

Benefit summaries
<group number>_<plan ID>_benefits.pdf

A summary of copays, coinsurance, visit limits, deductible and out-of-pocket limits, and the plan year. Send during setup; update at renewal or when benefits change.

Prior authorization
<group number>_<plan ID>_prior_auth.pdf

Services that need prior authorization or precertification, including any dollar thresholds. Send during setup; update when these requirements change. A separate file is not needed if the information is already in your Summary Plan Description.

First delivery

Before your first delivery

  • Agree on Option A or Option B and a daily cutoff with your EHVAhealth team.
  • Confirm your SFTP connection and upload folder with EHVA. Upload files directly using your dedicated account, and confirm your first delivery before enabling scheduled uploads.
  • Match the column names and data formats. Keep identifiers consistent across files.
  • Include old claims and terminated members from at least the last year in full files.
  • Send the initial setup files before your service goes live. After setup, resend them only when their information changes.

Confirm your field mapping

Review the following with EHVAhealth before automating exports:

  • SSNs: send nine digits as text when available. If a dependent has no SSN, confirm how to represent the subscriber SSN plus the dependent ID; do not assume this fallback is a nine-digit value.
  • Claim statuses: confirm the accepted status mapping, including whether Exclusion applies to your feed.
  • Accumulators: use the accumulator column names. If your export uses codes such as MM_IND_DED, confirm how they map to these fields.

Contents