Flexible Data Exchange (FDX)
When opting to do enrollment and contributions via a file exchange, you will provide a CSV file with the required fields and First Dollar will host an SFTP server for you to push this file to. Alternatively, we also support you hosting an SFTP server that First Dollar will read from on a daily cadence.
As you kick off implementing your benefits solution with First Dollar, you'll work with our implementation team to agree on naming standards for this file. Additionally, we'll cover other topics like the SFTP connection details, setting up a test environment, and align on a launch date.
Data requirements
The CSV file will contain all participant data needed to open the respective benefits account for the member, in addition to that member's employer data if applicable.
Similar to the configuration of the SFTP server, you'll work with our implementation team to ensure all data is correctly formatted in a test environment before going to production. Our team will also provide a CSV template for this data when you kick off implementation.
File exchange frequency
First Dollar's system will search this SFTP server Monday – Friday between 3 am and 10 pm CT. You can send both new member enrollments, updates, or a blank file if there are no updates.
File naming convention
All FDX files follow a standard naming pattern:
$ENVIRONMENT.$PARTNER.ENROLLMENT.FDXCHANGEV1.$DATE.csv (FDX Change File)
$ENVIRONMENT.$PARTNER.ENROLLMENT.FDXSOTWV1.$DATE.csv (FDX SotW File)
Your implementation team will confirm the exact values for your environment and partner identifiers during onboarding.
Enrollment
Enrollment schemas define the data necessary at a row level to enroll a participant into an offering such as an HSA or Benefit Account. All enrollment files use the same core FDX Enrollment schema and are delivered as comma-delimited CSVs via SFTP. All dates must be in YYYY-MM-DD format.
FDX supports two modes of enrollment file submission: the Change file and the State of the World (SotW) file. They differ in what data is included and how First Dollar determines what action to take.
Change File (Delta)
The Change file contains only records that have changed since your last submission. Each row includes an ACTION field that explicitly tells First Dollar what to do:
| Action | Behavior |
|---|---|
| ENROLL | Enroll the member in the specified benefit. |
| UPDATE | Update data for an existing enrollment. |
| UNENROLL | Unenroll the member, effective as of EFF_END_DT. |
Because the action is stated per row, RECORD_ID only needs to be unique within a single file — there is no requirement to maintain the same Record ID for a given member/benefit combination across files. First Dollar processes each row as directed and returns a success or error per record.
Best for: Partners whose systems can reliably track and emit only changed records with an explicit action.
State of the World File (SotW)
The SotW file contains all active participants on every submission, regardless of whether anything has changed. The ACTION column is removed. Instead, First Dollar infers what has changed by comparing the incoming file against the prior file.
This mode has additional requirements:
| Requirement | Details |
|---|---|
| All participants on every file | Every file must include all currently active participants — not just changes. |
| Stable participant identifier | You must commit to a stable, unchanging identifier for each participant (e.g., MEMBER_ID). MEMBER_ID must not be the participant's SSN. |
| Stable RECORD_ID across files | RECORD_ID must be unique across all files, not just within a single file. It represents a stable pairing of participant + benefit (e.g., Jane Doe + HSA = RECORD_ID 144b925a). |
| Unenrollment by omission | To unenroll a participant, include them on three successive files with their EFF_END_DT set. After three consecutive files, they may be dropped. Participants may also continue to be sent after unenrollment if preferred. |
Best for: Partners whose systems produce full population snapshots and cannot reliably provide per-row action directives.
Choosing Between Them
| Change File | State of the World | |
|---|---|---|
| Records included | Changed records only | All active participants |
| ACTION column | Required (ENROLL, UPDATE, UNENROLL) | Not used — removed from schema |
| RECORD_ID uniqueness | Unique within each file | Unique across all files (stable over time) |
| Change detection | Explicit via ACTION | Inferred by First Dollar via file-over-file comparison |
| Unenrollment | Explicit UNENROLL action | Participant included on 3 successive files with EFF_END_DT, then may be omitted |
| File size | Smaller (deltas only) | Larger (full population each time) |
Common Requirements
Both file types share the same FDX Enrollment schema fields (demographics, eligibility dates, benefit assignment, address, etc.) and the same file naming convention. For the full field-level schema, see the FDX Enrollment Schema.
Standard File Schemas
Below are references to standard FDX Schemas for standard operations. In addition to the standard schemas, FDX supports customization as needed, all the way to the point where you bring your own schema.