Documentation

Everything you need to integrate Solstice Accrue and make transparent pharmacy purchases count toward patient deductibles.

Overview

Solstice Accrue is infrastructure that bridges transparent pharmacies (Cost Plus, Amazon Pharmacy, GoodRx) with TPAs and carriers. When patients purchase medications from transparent pharmacies, Accrue ensures those purchases count toward their annual deductible and out-of-pocket maximum.

The Problem We Solve

When patients buy from transparent pharmacies, PBMs classify these as "cash pay" and exclude them from benefit accumulators. A $20 drug at Cost Plus becomes economically irrational if it doesn't reduce the patient's $3,000 deductible.

Accrue solves this by translating transparent pharmacy receipts into standard EDI 837P claims and submitting them to TPAs for accumulator credit.

Quick Start

Get up and running with Accrue in minutes.

1. Get API Credentials

Contact us to receive your API key and configure your employer/TPA settings.

2. Submit a Test Transaction

bash
curl -X POST https://api.solsticeaccrue.com/v1/transactions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "costplus",
    "source_transaction_id": "CP-2025-123456",
    "ndc": "00093-7212-01",
    "drug_name": "Metformin HCL 500mg",
    "quantity": 90,
    "days_supply": 90,
    "fill_date": "2025-12-20",
    "patient_paid": 12.50,
    "pharmacy_name": "Cost Plus Drugs",
    "patient_first_name": "John",
    "patient_last_name": "Doe",
    "patient_dob": "1985-03-15",
    "group_number": "GRP12345"
  }'

3. Check Transaction Status

bash
curl https://api.solsticeaccrue.com/v1/transactions/txn_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"
✓ That's it!

Once submitted, Accrue validates the transaction, matches the member, generates an EDI claim, and submits to the TPA for accumulator credit.

Architecture

Accrue sits between transparent pharmacies and TPAs/carriers, handling the translation and submission of accumulator credit requests.

💊
Pharmacy
Cost Plus / Amazon
Accrue
Normalize + Translate
📄
EDI 837P
Standard Claim
🏛️
TPA
Process + Credit

Processing Pipeline

  1. Ingest — Receive transaction from pharmacy API, webhook, or manual upload
  2. Validate — Verify NDC format, check pricing against benchmarks
  3. Match — Find enrolled member by name, DOB, and group number
  4. Translate — Generate ANSI X12 837P professional claim with accumulator flags
  5. Submit — Send to TPA via direct integration or clearinghouse
  6. Reconcile — Parse 835 response and confirm accumulator credit

For Employers

Self-insured employers can enable Accrue to ensure transparent pharmacy purchases count toward employee deductibles.

Requirements

  • Self-insured health plan
  • TPA with Accrue integration (or willingness to accept EDI claims)
  • Plan document amendment recognizing transparent pharmacy purchases

Plan Document Language

Your plan document should include language similar to:

// Sample Amendment Language

"Covered Pharmacy Expenses shall include purchases from
Transparent Pharmacy Providers, defined as pharmacies
operating on a cost-plus or transparent pricing model,
including but not limited to Cost Plus Drugs, Amazon
Pharmacy, and similar providers.

Such purchases shall be credited toward the Member's
Annual Deductible and Out-of-Pocket Maximum upon
submission of valid claim documentation through the
Plan's designated accumulator integration service."
📋 Note

We provide model plan document language and can work with your benefits counsel to ensure proper integration.

Employer Dashboard

Track transparent pharmacy adoption, savings, and accumulator credits across your workforce:

  • Transaction volume and status
  • Total accumulator credits submitted/confirmed
  • Savings vs. PBM benchmark pricing
  • Member adoption metrics

For TPAs

TPAs can accept Accrue claims through standard EDI channels or direct API integration.

Integration Options

Method Format Timing
Direct API JSON / REST Real-time
SFTP Batch EDI 837P Daily / Hourly
Clearinghouse EDI 837P Standard processing

Claim Processing

Accrue claims arrive as standard 837P professional claims with specific flags indicating accumulator-only processing:

  • No payment is requested (patient paid at point of sale)
  • NTE segment contains ACCUMULATOR_CREDIT_REQUEST
  • Patient responsibility = $0
  • Accumulator credit amount = patient paid amount

For Pharmacies

Transparent pharmacies can integrate with Accrue to automatically route transactions for accumulator credit.

Integration Methods

  • Webhook — Push order completion events to Accrue endpoint
  • API Pull — Accrue polls your order API for new transactions
  • Batch File — Daily SFTP upload of completed orders

Required Data

Field Required Description
order_id Yes Unique order identifier
ndc Yes 11-digit NDC
quantity Yes Quantity dispensed
patient_paid Yes Amount patient paid
patient_name Yes First and last name
patient_dob Yes Date of birth
fill_date Yes Dispense date

Transaction Flow

Understanding the lifecycle of an Accrue transaction.

Transaction States

Status Description
received Transaction received, queued for processing
normalizing Validating NDC, matching member
normalized Validation complete, ready for EDI translation
pending_review Manual review required (low confidence match)
submitted EDI claim sent to TPA
accepted TPA accepted the claim
credited Accumulator credit confirmed
rejected Claim rejected by TPA

EDI 837P Claims

Accrue generates ANSI X12 837P Professional Claims formatted for accumulator credit requests.

Key Segments

  • CLM — Claim information with patient control number
  • NTE — Note segment with ACCUMULATOR_CREDIT_REQUEST flag
  • SV1 — Service line with NDC and patient paid amount
  • DTP — Service date (fill date)
⚠️ Important

Accrue claims request accumulator credit only — no payment is expected. The patient has already paid at point of sale.

Webhooks

Subscribe to real-time notifications for transaction status changes.

Available Events

Event Description
transaction.normalized Transaction validated and member matched
transaction.submitted EDI claim sent to TPA
transaction.accepted Claim accepted by TPA
transaction.rejected Claim rejected (includes reason codes)
accumulator.credited Accumulator credit confirmed

Webhook Payload

{
  "event": "accumulator.credited",
  "timestamp": "2025-12-20T14:30:00Z",
  "data": {
    "transaction_id": "txn_abc123",
    "member_id": "MEM001234",
    "deductible_credited": 12.50,
    "oop_credited": 12.50
  }
}

Data Models

Core data structures used throughout the Accrue system.

Transaction

{
  "id": "txn_abc123",
  "source": "costplus",
  "status": "credited",
  "ndc11": "00093721201",
  "drug_name": "Metformin HCL 500mg",
  "quantity": 90,
  "days_supply": 90,
  "fill_date": "2025-12-20",
  "patient_paid": 12.50,
  "member_id": "MEM001234",
  "deductible_credited": 12.50,
  "oop_credited": 12.50,
  "confidence_score": 95,
  "created_at": "2025-12-20T10:30:00Z"
}

Member Accumulator

{
  "member_id": "MEM001234",
  "plan_year": 2025,
  "deductible_limit": 3000.00,
  "deductible_met": 1560.00,
  "deductible_remaining": 1440.00,
  "oop_limit": 6000.00,
  "oop_met": 1560.00,
  "oop_remaining": 4440.00,
  "pending_amount": 25.00
}

Error Codes

Common error codes and their meanings.

Code Description Resolution
INVALID_NDC NDC format invalid or not found Verify 11-digit NDC format
MEMBER_NOT_FOUND Could not match to enrolled member Check name, DOB, group number
PRICE_OUTLIER Price exceeds expected range Manual review required
TPA_REJECTION TPA rejected the claim Check rejection reason codes
DUPLICATE_TRANSACTION Transaction already submitted Use existing transaction ID