ESI Compatibility
How the Data Exchange API maps to the Express Scripts CDH 1500-byte accumulator format.
Andel can carry the concepts required by Express Scripts’ (ESI) CDH 1500-byte accumulator protocol, for partners that exchange accumulator data in that format. This page documents the supported event types, accumulator types, the field mapping between the Data Exchange API and the ESI fixed-width record, and a sample file partners can validate against their own parsers.
Monetary fields are proposed and provenance-pending. They ship optional and are not yet a firm contract. Do not build settlement logic on the dollar amounts until Andel confirms their provenance.
Supported event types
A purchase’s event_type maps to an ESI Event Code:
In the ESI CDH protocol, all six event types are the same record, distinguished by the Event Code and by which accumulators move. This API mirrors that: every event type is a /purchases record discriminated by event_type. HRA loads, rollovers, and incentives are records whose populated accumulator is the HRA slot (type_of_benefit_account: hra); they carry origin_code and plan_year, use date_of_service as the effective date, and omit the pharmacy-fill fields (ndc, prescriber_spi, quantity).
Supported accumulator types
Each element of a purchase’s accumulators array carries a type_of_benefit_account that maps to an ESI Type-of-Benefit-Account code:
The cr_db_indicator on each accumulator maps to the ESI CR-DB Indicator: debit (+) consumes the accumulator, credit (-) restores it, replace (R) overwrites the running total, and bypass (B) ignores the accumulator for that transaction.
Field mapping
The Andel-source column is the API field; the ESI-source column describes the partner protocol position (1-indexed byte offset and length in the CDH record).
Purchase
Accumulator
HRA balance events
HRA loads, rollovers, and incentives are /purchases records with event_type set to hra_initial_load, hra_rollover, or hra_incentive. They reuse the purchase fields above: the dollar amount is the accumulators entry with type_of_benefit_account: hra, date_of_service is the effective date, and origin_code + plan_year carry the load metadata.
ESI protocol identity
The esi object on a purchase carries the wire-protocol identifiers, populated only when a purchase is exchanged via the ESI CDH format:
Fields not populated
- Monetary fields (
member_purchase_amount,oop_amount,plan_contribution,deductible_applied, accumulator amounts, HRA amounts) are proposed and provenance-pending; they may be omitted until provenance is confirmed. - Demographics and ESI protocol identity are populated only when a purchase is exchanged via the ESI CDH format; they are otherwise omitted.
- The deprecated ESI Situational Segment and ESI-internal or reserved fields are not used.
Transport options
Sample file
A synthetic batch in the ESI CDH layout: a batch header, three detail records (a claim, a reversal, and an HRA load), and a batch trailer. All values are synthetic and the file uses test status (T). Fields are shown space-delimited for readability; the wire format is fixed-width.