Raw Claims CSV Import
Zus provides customers with the ability to upload CSV files as a bulk upload mechanism. The data provided in these files will appear as Claim FHIR Resources within Zus. The patients referenced in any Claim CSV must be enrolled with a valid patient identifier in place at the time of upload.
Raw Claims CSV Upload Process
CSV Imports are handled through SFTP. Reach out to your Zus support representative to set up a secure SFTP connection to the Zus system. Once an SFTP upload folder is properly mounted, uploading a properly formatted Raw Claims CSV File in that folder will create corresponding Claim FHIR Resources.
CSV File Format
All uploaded CSVs are expected to include the following columns. Rows sharing the same CLAIM_NUMBER are grouped into a single Claim, with one line item per row; a row with a blank CLAIM_NUMBER becomes its own single-line Claim. Diagnosis codes span the numbered DIAG_1 … DIAG_25 columns and procedure modifiers span MODIFIER_1 … MODIFIER_6; empty trailing slots are ignored. Each Claim passes through our deduplication process to either create or update a Claim.
Columns
| Column Name | Description | Example |
|---|---|---|
PERSON_ID | Required. Patient identifier value, resolved against PERSON_ID_SYSTEM to match the patient. If no patient matches, the whole claim is skipped and produces nothing. | 1AB2CD3EF45 |
PERSON_ID_SYSTEM | Required. System URL for PERSON_ID. | http://hl7.org/fhir/sid/us-mbi |
UNIQUE_CLAIM_ID | Required. Stable key used to deduplicate a claim across re-imports. A missing value rejects the claim. | unique-abc-123 (or a synthetic key of other fields, like {CONTRACT_ID}:{CLAIM_NUMBER}) |
SEQUENCE_VALUE | Required. Whole-number version stamp for the claim; the highest value wins on re-import. Must be an integer. | 1712345678 |
CLAIM_NUMBER | Claim identifier. Rows sharing this value are grouped as items into a single claim. A blank value makes the row its own single-line claim. | CLM-MULTI-001 |
PLAN_MEMBER_ID | Payer member ID. Recorded as the coverage subscriber ID. | 854239176 |
CLAIM_CATEGORY_L1 | Claim category: Inpatient, Institutional, Hospice, Home Health, and SNF are treated as institutional; Outpatient, Professional, and blank are treated as professional. | Inpatient |
CLAIM_STATUS | Claim status: active or cancelled (case-insensitive). cancelled marks a reversal and produces no line items. Blank defaults to active. | active |
DIAG_1 … DIAG_25 | ICD-10-CM diagnosis codes (up to 25, ordered). Normalized to dotted form (E11319 → E11.319) and de-duplicated across the claim. DIAG_1 is the principal diagnosis. | I10 |
DRG | MS-DRG code (institutional claims only). Attached to the principal diagnosis as its package code. | 638 |
PROCEDURE_CODE | CPT (numeric) or HCPCS (letter-leading) procedure code for the line item. When blank, the claim line item is marked as having an unknown procedure. | G0438 |
MODIFIER_1 … MODIFIER_6 | Procedure modifier codes for the line item (up to 6, ordered). | LT |
REVENUE_CODE | UB-04 revenue center code for institutional line items. | See https://www.nubc.org/license for examples. |
UNITS | Service unit quantity for the line item (numeric). | 1 |
BILLED_AMOUNT | Total billed amount for the claim (decimal, USD). | 1200.00 |
PAID_AMOUNT | Paid amount for the line item (decimal, USD). | 800.00 |
CLAIM_PAID_DATE | Date the claim was paid. ISO 8601 date or datetime. | 2025-03-10 |
DATE_OF_SERVICE_FROM | Claim-level service start date. ISO 8601 date or datetime. | 2025-03-01T08:00:00-05:00 |
DATE_OF_SERVICE_THRU | Claim-level service end date. ISO 8601 date or datetime. | 2025-03-05T14:00:00-05:00 |
DATE_OF_ADMISSION | Line-level start date for the individual line item. ISO 8601 date or datetime. | 2025-03-01T10:00:00-05:00 |
DATE_OF_DISCHARGE | Line-level end date for the individual line item. ISO 8601 date or datetime. | 2025-03-05T14:00:00-05:00 |
BILLING_PROVIDER_NPI | Billing provider NPI. At least one of BILLING_PROVIDER_NPI or RENDERING_NPI is required, or the claim is rejected. | 1447496559 |
RENDERING_NPI | Rendering provider NPI. At least one of BILLING_PROVIDER_NPI or RENDERING_NPI is required. | 1245319599 |
PRODUCT | Claim product type. When set to rx, the row is treated as a pharmacy dispense instead of a medical claim line. | rx |
RX_NDC | NDC drug code. Used when PRODUCT is rx. | 00071015523 |
COVERAGE_PAYOR_DISPLAY_NAME | Payer display name for the coverage. Blank defaults to Medicare. | Aetna |
CONTRACT_ID | Payer/plan contract identifier. Recorded on the claim and coverage. | H1234 |
TIER | Payer/plan tier. Recorded on the claim and coverage. | 1 |
SOURCE | Free-form identifier for the upstream feed. | cclf |
PK_SURROGATE | Upstream-provided surrogate key, retained for diagnostics. | abc-123 |
PRIOR_CLAIM_IDENTIFIER | When set, links this claim back to the original claim it adjusts or replaces. | CLM-ORIG-000 |
CLAIM_NUMBER_IDENTIFIER_URL | Overrides the identifier system URL used for CLAIM_NUMBER and PRIOR_CLAIM_IDENTIFIER. | https://payer.example/claim-id |
NCH_CLAIM_TYPE_CODE | NCH claim type code. Unique values across the claim are collected together. | 60 |
FACILITY_TYPE_CODE | Header-level facility type code. | 1 |
CLASSIFICATION_CODE | Header-level classification code. | 1 |
MEDICARE_NON_PAYMENT_REASON | Medicare non-payment reason code. | A |
PROVIDER_SPECIALTY_CODE | Line-level provider specialty code. | 08 |
Raw Claims Deduplication Process
During CSV import, we do not create a new Claim for a patient if we have previously received similar data. Claims deduplication relies on the following information:
- The Patient ID associated with the Claim (Determined through Patient Matching).
- Your Builder ID associated with the file (implicitly provided during file upload).
- The
UNIQUE_CLAIM_IDfield: Must be a unique string. - The
SEQUENCE_VALUEfield: Must be a valid integer.
If a previous Claim for a patient was created with these same values, the existing Claim will be updated with the remaining data (e.g. PRIOR_CLAIM_IDENTIFIER). Similarly, a new Claim will be created if we do NOT have an existing Claim with these same values associated with the matched patient.
SEQUENCE_VALUE
We use a numeric SEQUENCE_VALUE as the version. Re-importing the same UNIQUE_CLAIM_ID with a higher SEQUENCE_VALUE replaces the prior claim; an equal value is idempotent; a lower value does not overwrite newer data. UNIQUE_CLAIM_ID and a valid integer SEQUENCE_VALUE are therefore required — a claim without them is rejected rather than risk duplicates.
Patient Matching at Import Time
Before creating or updating a Claim in our CSV pipeline, we require that a Patient record exists in the current builder that matches the PERSON_ID_SYSTEM and PERSON_ID.
For example, if you have uploaded a CSV with a row that has the values
https://fhir.athena.io/sid/ah-patientforPERSON_ID_SYSTEMa-12345.E-12345andPERSON_ID
Then a Patient FHIR record is expected to exist in your builder with a similar Identifier:
{
"id": "[uuid]",
"identifier": [{
"system": "https://fhir.athena.io/sid/ah-patient",
"value": "a-12345.E-12345"
},
... other identifiers
],
... additional Patient Data
}If there is no Patient in your builder with that identifier, then no FHIR Claim will be created for that row.
Please see our docs about Enrolling your Patients for more information.
Updated 1 day ago
