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.
For Employers
Enable transparent pharmacy benefits for your workforce while tracking savings.
For TPAs
Accept Accrue claims via standard EDI and credit member accumulators.
For Pharmacies
Integrate your transaction feed so purchases automatically route to Accrue.
API Reference
Full API documentation for transaction submission and status tracking.
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
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
curl https://api.solsticeaccrue.com/v1/transactions/txn_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"
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.
Processing Pipeline
- Ingest — Receive transaction from pharmacy API, webhook, or manual upload
- Validate — Verify NDC format, check pricing against benchmarks
- Match — Find enrolled member by name, DOB, and group number
- Translate — Generate ANSI X12 837P professional claim with accumulator flags
- Submit — Send to TPA via direct integration or clearinghouse
- 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."
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 numberNTE— Note segment withACCUMULATOR_CREDIT_REQUESTflagSV1— Service line with NDC and patient paid amountDTP— Service date (fill date)
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 |