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. 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.
⚡ Live CARC 22 Denial Code (Care May Be Covered by Another Payer (Coordination of Benefits)) | ANSI 835 EDI Spec Interactive Workbench
Test real-time validation and schema parsing for CARC 22 Denial Code (Care May Be Covered by Another Payer (Coordination of Benefits)) | ANSI 835 EDI Spec directly in your browser. Runs in sub-5ms with zero setup.
{
"status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Quick Summary: 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. Validates strictly against ANSI ASC X12 Standards (005010) with sub-5ms in-memory response times.
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) 22 communicates: "This care may be covered by another payer per coordination of benefits.".
In ANSI X12 835 Electronic Remittance Advice (ERA) files, CARC 22 is reported in Loop 2110 (Service Payment Information) or Loop 2100 (Claim Payment Information) under the Claim Adjustment (CAS) segment with Group Code 'OA' (Other Adjustment), formatted as: CAS*OA*22*AMOUNT~.
Root Cause: Payer records indicate another insurer is primary (e.g., commercial employer plan primary over Medicare, or auto/workers comp coverage).
Adjudication & Appeal Strategy: Submit claim to the designated primary payer first; upon receiving the primary 835 ERA, bill the secondary payer with primary payment details in Loop 2320 (COB).
| Attribute | Value | Technical Guidance |
|---|---|---|
| Reason Code | CARC 22 | Care May Be Covered by Another Payer (Coordination of Benefits) |
| Standard Group Code | OA | Other Adjustment |
| ANSI 835 Segment | CAS*OA*22*AMOUNT~ | Loop 2110 or Loop 2100 |
| Balance Billing Patient | Prohibited until secondary coordination is complete. | Compliance with billing regulations |
| Common RARCs | N517, MA04 | Remittance Advice Remark Codes |
| Recommended Action | Submit claim to the designated primary payer first; upon receiving the primary 835 ERA, bill the secondary payer with primary payment details in Loop 2320 (COB). | Workflow for billing teams |
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:
{
"transactionType": "835",
"claimNumber": "CLM-2026-001",
"adjudication": {
"billedAmount": 500,
"paidAmount": 0,
"adjustments": [
{
"groupCode": "OA",
"groupName": "Other Adjustment",
"reasonCode": "22",
"reasonDescription": "Care May Be Covered by Another Payer (Coordination of Benefits)",
"adjustmentAmount": 500
}
]
}
}
Copy-Paste Integration Code (6 Languages)
Integrate CARC 22 Denial Code (Care May Be Covered by Another Payer (Coordination of Benefits)) | 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
CARC 22 signifies: "This care may be covered by another payer per coordination of benefits.". It explains why the payer did not pay the full billed charge.
Prohibited until secondary coordination is complete.
Submit claim to the designated primary payer first; upon receiving the primary 835 ERA, bill the secondary payer with primary payment details in Loop 2320 (COB).
Related Healthcare EDI ANSI X12 Parser API Formats
Explore sibling specifications and standards in the same developer cluster:
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 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 →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 97 Denial Code (Procedure Included in Allowance for Another Service (Bundled)) | ANSI 835 EDI Spec
Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 97 (Procedure Included in Allowance for Another Service (Bundled)) under ANSI ASC X12 835 005010X221A1.
View Format →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.
View Format →CARC 29 Denial Code (Time Limit for Filing Has Expired (Timely Filing)) | ANSI 835 EDI Spec
Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 29 (Time Limit for Filing Has Expired (Timely Filing)) under ANSI ASC X12 835 005010X221A1.
View Format →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 27 Denial Code (Expenses Incurred After Coverage Terminated) | ANSI 835 EDI Spec
Comprehensive healthcare EDI technical reference and denial resolution guide for Claim Adjustment Reason Code 27 (Expenses Incurred After Coverage Terminated) under ANSI ASC X12 835 005010X221A1.
View Format →Complementary Enterprise APIs
Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:
FDA DSCSA Drug Serialization →
Verify pharmaceutical 2D DataMatrix barcodes, NDC verification, and EPCIS compliance.
FDA AccessGUDID & IMDRF UDI Decoder →
Decode medical device identifiers (DI + PI) conforming to 21 CFR 801.20 and EU MDR.
ISO 20022 Financial Messaging →
Transform enterprise remittance workflows between X12 835 ERA and ISO 20022 camt.053.