EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
ANSI ASC X12 Standards (005010) <2ms Edge Edge Compute

CARC 252 Denial Code (Attachment / Documentation Required to Adjudicate) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 252 (Attachment / Documentation Required to Adjudicate) under ANSI ASC X12 835 005010X221A1. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches ANSI ASC X12 Standards (005010) without reading the source standard.

Latency: <2ms Edge Availability: 99.99% Standard: ANSI 835 / WPC CARC In-Memory Execution
Interactive Edge Workbench

⚡ Live CARC 252 Denial Code (Attachment / Documentation Required to Adjudicate) | ANSI 835 EDI Spec Interactive Workbench

Test real-time validation and schema parsing for CARC 252 Denial Code (Attachment / Documentation Required to Adjudicate) | ANSI 835 EDI Spec directly in your browser. Runs in sub-5ms with zero setup.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.x12 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →
LLM / MCP
Prompt-Ready Specification for AI Agents llms.txt
Structured format rules and schemas optimized for LLM coding agents and Model Context Protocol tooling.
Raw .md
Official Standard & Validation Protocol Authority: Accredited Standards Committee X12 / HIPAA 5010 ↗

Quick Summary: Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 252 (Attachment / Documentation Required to Adjudicate) under ANSI ASC X12 835 005010X221A1. Validates strictly against ANSI ASC X12 Standards (005010) with sub-5ms in-memory response times.

Latency
<2ms Edge
Standard
ANSI 835 / WPC CARC
Version
Max Payload
512 KB
Privacy
In-Memory (0 bytes stored)

Specification & Structural Breakdown

Technical Summary: Validates strictly against ANSI ASC X12 Standards (005010). Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.

Claim Adjustment Reason Code (CARC) 252 communicates: "An attachment/other documentation is required to adjudicate this claim/service.".

In ANSI X12 835 Electronic Remittance Advice (ERA) files, CARC 252 is reported in Loop 2110 (Service Payment Information) or Loop 2100 (Claim Payment Information) under the Claim Adjustment (CAS) segment with Group Code 'CO' (Contractual Obligation), formatted as: CAS*CO*252*AMOUNT~.

Root Cause: Complex surgical, unlisted code, or high-cost therapy where payer requires operative note, lab results, or invoice before payment.

Adjudication & Appeal Strategy: Submit requested clinical records via payer electronic attachment portal or PWK segment on resubmitted 837.

AttributeValueTechnical Guidance
Reason CodeCARC 252Attachment / Documentation Required to Adjudicate
Standard Group CodeCOContractual Obligation
ANSI 835 SegmentCAS*CO*252*AMOUNT~Loop 2110 or Loop 2100
Balance Billing PatientProhibited.Compliance with billing regulations
Common RARCsN29, N650Remittance Advice Remark Codes
Recommended ActionSubmit requested clinical records via payer electronic attachment portal or PWK segment on resubmitted 837.Workflow for billing teams

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:

HTTP 200 JSON Response Envelope
{
  "transactionType": "835",
  "claimNumber": "CLM-2026-001",
  "adjudication": {
    "billedAmount": 500,
    "paidAmount": 0,
    "adjustments": [
      {
        "groupCode": "CO",
        "groupName": "Contractual Obligation",
        "reasonCode": "252",
        "reasonDescription": "Attachment / Documentation Required to Adjudicate",
        "adjustmentAmount": 500
      }
    ]
  }
}

Copy-Paste Integration Code (6 Languages)

Integrate CARC 252 Denial Code (Attachment / Documentation Required to Adjudicate) | ANSI 835 EDI Spec directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):

curl --request POST \
  --url "https://api.stanzaapi.com/x12-parser/api/v1/x12/parse" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "raw": "ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~"
}'
const response = await fetch("https://api.stanzaapi.com/x12-parser/api/v1/x12/parse", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "raw": "ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~"
})
});

const data = await response.json();
console.log(data);
import requests
import json

url = "https://api.stanzaapi.com/x12-parser/api/v1/x12/parse"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "raw": "ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	url := "https://api.stanzaapi.com/x12-parser/api/v1/x12/parse"
	payload := []byte(`{"raw":"ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~"}`)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("x-api-key", os.Getenv("API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");

        var json = @"{""raw"":""ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~""}";
        var payload = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await client.PostAsync("https://api.stanzaapi.com/x12-parser/api/v1/x12/parse", payload);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}
Integrate the StanzaAPI x12-parser micro-API.

Endpoint: POST https://api.stanzaapi.com/x12-parser/api/v1/x12/parse
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
  "raw": "ISA*00*          *00*          *ZZ*SUBMITTER1     *ZZ*RECEIVER01     *260830*1200*^*00501*000000001*0*P*:~GS*HC*SENDER*RECEIVER*20260830*1200*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*CLAIM001*20260830*1200*CH~NM1*41*2*DR DOE CLINIC*****46*1234567890~PER*IC*SUPPORT*TE*8005551212~HL*1**20*1~NM1*85*2*DR DOE CLINIC*****XX*1992837465~HL*2*1*22*0~NM1*IL*1*SMITH*JANE****MI*W123456780~CLM*CLM001*150.00***11::1*Y*A*Y*Y~LX*1~SV1*HC:99213*150.00*UN*1***1~SE*11*0001~GE*1*1~IEA*1*000000001~"
}

Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.

Frequently Asked Questions & Technical Notes

What does CARC 252 mean on an 835 ERA?

CARC 252 signifies: "An attachment/other documentation is required to adjudicate this claim/service.". It explains why the payer did not pay the full billed charge.

Can a provider balance-bill the patient for CARC 252?

Prohibited.

How do medical billing teams resolve and appeal CARC 252?

Submit requested clinical records via payer electronic attachment portal or PWK segment on resubmitted 837.

Related Healthcare EDI ANSI X12 Parser API Formats

Explore sibling specifications and standards in the same developer cluster:

CARC 140 Denial Code (Patient / Insured Identification Number and Name Mismatch) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 140 (Patient / Insured Identification Number and Name Mismatch) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 204 Denial Code (Service / Drug Not Covered Under Patient Benefit Plan) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 204 (Service / Drug Not Covered Under Patient Benefit Plan) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 4 Denial Code (Procedure Code Inconsistent with Modifier Used) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 4 (Procedure Code Inconsistent with Modifier Used) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 50 Denial Code (Non-Covered Services Not Deemed Medically Necessary) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 50 (Non-Covered Services Not Deemed Medically Necessary) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 11 Denial Code (Diagnosis Inconsistent with Procedure) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 11 (Diagnosis Inconsistent with Procedure) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 22 Denial Code (Care May Be Covered by Another Payer (Coordination of Benefits)) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 22 (Care May Be Covered by Another Payer (Coordination of Benefits)) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 31 Denial Code (Patient Cannot Be Identified as Insured) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 31 (Patient Cannot Be Identified as Insured) under ANSI ASC X12 835 005010X221A1.

View Format →

CARC 197 Denial Code (Precertification / Prior Authorization Absent) | ANSI 835 EDI Spec

Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 197 (Precertification / Prior Authorization Absent) under ANSI ASC X12 835 005010X221A1.

View Format →

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:

All Healthcare EDI ANSI X12 Parser API Formats & Specifications (32) Directory Index ↓
EDI X12 837P Professional Health Care Claim Parser & Validator EDI X12 837I Institutional Claim Parser & Free Validator EDI 835 Remittance Advice (ERA) Parser, Viewer & Format Guide EDI X12 270 Eligibility Inquiry Parser & Validator EDI X12 271 Eligibility & Benefit Response Parser EDI X12 834 Benefit Enrollment and Maintenance Parser EDI X12 850 Purchase Order Parser & JSON Converter EDI X12 810 Electronic Commercial Invoice Parser EDI X12 276 Health Care Claim Status Request Parser EDI X12 277 Health Care Claim Status Notification Parser CARC 45 Denial Code (Charge Exceeds Fee Schedule / Maximum Allowable Amount) | ANSI 835 EDI Spec CARC 16 Denial Code (Claim/Service Lacks Information or Has Submission Error) | ANSI 835 EDI Spec CARC 96 Denial Code (Non-Covered Charge(s)) | ANSI 835 EDI Spec CARC 1 Denial Code (Deductible Amount) | ANSI 835 EDI Spec CARC 2 Denial Code (Coinsurance Amount) | ANSI 835 EDI Spec CARC 3 Denial Code (Co-payment Amount) | ANSI 835 EDI Spec CARC 18 Denial Code (Exact Duplicate Claim/Service) | ANSI 835 EDI Spec CARC 27 Denial Code (Expenses Incurred After Coverage Terminated) | ANSI 835 EDI Spec CARC 29 Denial Code (Time Limit for Filing Has Expired (Timely Filing)) | ANSI 835 EDI Spec CARC 97 Denial Code (Procedure Included in Allowance for Another Service (Bundled)) | ANSI 835 EDI Spec CARC 197 Denial Code (Precertification / Prior Authorization Absent) | ANSI 835 EDI Spec CARC 22 Denial Code (Care May Be Covered by Another Payer (Coordination of Benefits)) | ANSI 835 EDI Spec CARC 50 Denial Code (Non-Covered Services Not Deemed Medically Necessary) | ANSI 835 EDI Spec CARC 204 Denial Code (Service / Drug Not Covered Under Patient Benefit Plan) | ANSI 835 EDI Spec CARC 252 Denial Code (Attachment / Documentation Required to Adjudicate) | ANSI 835 EDI Spec CARC 140 Denial Code (Patient / Insured Identification Number and Name Mismatch) | ANSI 835 EDI Spec CARC 4 Denial Code (Procedure Code Inconsistent with Modifier Used) | ANSI 835 EDI Spec CARC 11 Denial Code (Diagnosis Inconsistent with Procedure) | ANSI 835 EDI Spec CARC 31 Denial Code (Patient Cannot Be Identified as Insured) | ANSI 835 EDI Spec CARC 109 Denial Code (Claim Not Covered by Payer / Sent to Wrong Contractor) | ANSI 835 EDI Spec Free Online ANSI X12 EDI to JSON Converter & Inspector EDI 835 Electronic Remittance Advice (ERA) to CSV/Excel Converter