Claims Status API JSON-to-EDI Mapping
Preface
X12 is a non-profit organization chartered by the American National Standards Institute (ANSI) to develop and maintain business to business transaction standards. Several of the X12 Implementation Guides (X12 Type 3 Technical Report (TR3), also known as an X12 Implementation Guide (IG)) have been adopted under HIPAA for use by covered entities in the health care and insurance industry. These standards are widely adopted across providers, payers, and technology vendors such as Change Healthcare. These TR3s and the X12 metadata contained in them are intended to be used in conjunction with Change Healthcare’s APIs so that your organization will have access to the reference industry standards that include the codes and rules necessary to submit Eligibility, Claims, and Claim Status transactions. To obtain a license that also provides access to the full requirements for these transactions, you can visit https://x12.org/licensing. We make every effort to ensure consistency between Change Healthcare’s APIs and the X12 TR3. If there is a discrepancy, the X12 TR3 is the final authority.
How to Use this Document
Use this document with our Open API Spec (Swagger) as a reference for development. Notes on the data in the following sections include:
- A light blue table header row denotes each EDI segment.
- The Constraints column describes the minimum and maximum number of alphanumeric characters that a field entry can occupy: For example, 1/60 R is a Required field with a minimum of one and maximum of 60 characters.
- If a field is required, the Constraints entry notes it.
For the Constraints column in each table, the following letters stand for specific meanings:
R = Required (must be used if/when the object is part of the transaction);
S = Situational (may be required depending on how the transaction content is structured).
Situational loops, segments, or elements can be Situational in two forms:
- Required IF a condition is met, but can be used at the discretion of the sender if it isn't required (for example, some descriptive notes can be added to a claim if necessary);
- Required IF a condition is met, but if not, the sender must not use it in their request ("Do not send").
The Consolidated 276/277 Implementation Guide, p. 26 discusses this in further detail.
Contents
Field | Description | C/R |
---|---|---|
controlNumber | Transaction Set Control Number. This is provided by the submitter. Unique ID used to trace the request. Value goes in ISA13 (no loop) | R 9/9 |
tradingPartnerServiceId | ID used by the CHC Clearinghouse for the trading partner. Loop 2100A, NM109. You can use the ConnectCenter CPID value as the tradingPartnerServiceId , from the searchable Change Healthcare Payer List. | 2/80 R |
Name | Element | Description | Constraints |
---|---|---|---|
providers (Object) | Generic for: 2100B - Billing (Information Receiver) 2100C - Service Providers | R | |
organizationName | NM103 | Org name for provider. Can use organization or last name. | 1/60 S |
firstName | NM104 | Maps to provider Name. | 1/35 S |
lastName | NM103 | Maps to provider last name. | 1/60 S |
One of the following NM109 identifiers is Required for this object. Also see the requirements for each ID type. | |||
npi | NM109 | National Provider Identification Code Qualifier. Maps to provider npi when providerType = ServiceProvider NM108=XX – National Provider Identifier (NPI) for Medicare/Medicaid Loop 2100C only. | 2/80 |
tin | NM109 | National Provider Identification Code Qualifier. Maps to provider tin when providerType = ServiceProvider NM108=FI – Federal Taxpayer’s ID Loop 2100C only. | 2/80 |
spn | NM109 | National Provider Identification Code Qualifier. Maps to provider spn when providerType = ServiceProvider NM108=SV Service Provider Number, Loop 2100C only. | 2/80 |
taxId | NM109 | Billing Tax ID. Electronic Transmitter Identification Number (ETIN) used when providerType = BillingProvider Loop 2100B only. | 2/80 |
providerType | NM109 | Code for entity (Billing or Service) Billing Provider: Loop 2100B, NM101=41 (required) Service Provider: Loop 2100C, NM101=1P if not present it is added; tin = BillingProvider taxId ID | 2/3 |
Name | Element | Loop | Description | Constraints |
---|---|---|---|---|
subscriber (Object) | The person that has the insurance policy. | R | ||
memberId | NM109 | 2100D | The subscriber’s insurance member ID. Maps to subscriberId . | 2/80 R |
firstName | NM104 | 2100D | The subscriber’s first name as specified on their policy. Maps to subscriber firstName | 1/35 S |
lastName | NM103 | 2100D | The subscriber’s last name as specified on their policy. Maps to subscriber lastName . | 1/60 S |
dateOfBirth | DMG02 | 2000D | The subscriber’s birth date as specified on their policy Maps to subscriber birthDate . | 1/35 R |
gender | DMG03 | 2000D | The subscriber’s gender as specified on their policy. Required when available. | 1/1 S |
groupNumber | REF01 | 2200D | The subscriber’s group or policy number as specified on their policy. Maps to dependent groupNumber . | 1/50 S |
Name | Element | Loop | Description | Constraints |
---|---|---|---|---|
dependent (Object) | S | |||
firstName | NM104 | 2100E | Dependent’s first name. Maps to dependent firstName . | 1/35 R |
lastName | NM103 | 2100E | Dependent’s last name. Maps to dependent lastName . | 1/60 R |
gender | DM03 | 2000E | Dependent’s gender code. Options: F or M. Required if available. | 1/1 S |
dateOfBirth | DM02 | 2000E | Dependent’s birth date. Maps to dependent birthDate . | 1/35 S |
groupNumber | REF01 | 2200E | The group number associated with the dependent. Maps to dependent groupNumber . | 1/50 S |
Name | Elements | Description | Constraints |
---|---|---|---|
encounter (Object) | The claim/encounter information, for example a doctor visit. Generic for: 2200D - Subscriber 2200E - Dependent | S | |
beginningDateOfService | DTP03 | Date Time Period: Start Date maps to claimServiceDateStart . | 1/35 R |
endDateOfService | DTP03 | Date Time Period: End Date maps to claimServiceDateEnd . | 1/35 R |
trackingNumber | TRN02 | The claim status tracking number assigned to the status query for the claim. | 1/50 R |
submittedAmount | AMT02 | Submitted total charges. Value goes in AMT02 where AMT01=T3 R | 1/18 R |
REF02 Values | Check the requirements for REF02 values and apply if known. | S | |
tradingPartnerClaimNumber | REF02 | The payer assigned claim number. Values go in REF02 where REF01=1K. Required when a claim is in the Information Source's system. | 1/50 S |
locationIdentifier | REF02 | R if application or location system identifier is known. Value goes in REF02 where REF01=LU | 1/50 S |
billingType | REF02 | Billing type reference ID. Example: billing type for inpatient services is 111. Value goes in REF02 where REF01=BLT. Required for institutional claims if search refinements are necessary. | 1/50 S |
patientAccountNumber | REF02 | Patient account number provided by service provider. Value goes in REF02 where REF01=EJ | 1/50 S |
pharmacyPrescriptionNumber | REF02 | Patient pharmacy prescription number. Value goes in REF02 where REF01=XZ Required if a pharmacy claim search needs additional search criteria. | 1/50 S |
clearingHouseClaimNumber | REF02 | Required when there is a Claim number provided by clearing house. Value goes in REF02 where REF01=D9 | 1/50 S |
Name | Description |
---|---|
controlNumber | Provided by the submitter in the 270 Request. Transaction Set Control Number. |
tradingPartnerServiceId | ID used by Clearing House for the trading partner. |
See the 276/277 Implementation Guide, pp. 224, and the OpenAPI spec for further details.
Name | Element | Loop | Description | Constraints |
---|---|---|---|---|
payer (Object) | The person holding the insurance policy. | S | ||
organizationName | NM103 | 2100A | Organization Name, required. | 2/80 R |
payerIdentification | NM109 | 2100A | Payer identification | 2/80 R |
centersForMedicareAndMedicaidServicePlanId | NM109 | 2100A | Centers For Medicare and Medicaid Service Plan Id. If NM108 = XV, this field must be used to push the CMS ID into NM109 as Payer ID for this loop. | 2/80 S |
contactInformation (Object) | S | |||
name | PER02 | 2000A | Name of the person to contact | 1/35 S |
electronicDataInterChangeAccessNumber | PER[04,06,08] | 2000A | Electronic Data Interchange Access Number | 1/256 S |
email | PER[04,06,08] | 2000A | 1/256 S | |
Fax | PER[04,06,08] | 2000A | fax | 1/256 S |
phone | PER[04,06,08] | 2000A | phone | 1/256 S |
phoneExtension | PER[04,06,08] | 2000Av | Phone Extension | 1/256 S |
Name | Elements | Description | Constraint |
---|---|---|---|
providers (Array of objects) | Generic for: Billing (Information Receiver Loop 2100B) Service Providers (Loop 2100C) | R | |
organizationName | NM103 | Provider’s organization name. Can use organization or last name. | 1/60 S |
firstName | NM104 | Provider first name. Maps to providerName | 1/35 S |
lastName | NM103 | Provider last name. Can use organization or last name. Maps to provider lastname . | 1/60 S |
One of the following NM109 IDs is required. | |||
npi | NM109 | National Provider Identification Code Qualifier. Maps to provider npi . NM108=XX | 2/80 R |
taxId | NM109 | Electronic Transmitter Identification Number (ETIN). Established by Trading Partner agreement. NM108=FI | 2/80 R |
providerType | NM101 | Billing, Attending, Operating, Other Operating, Rendering Code for entity (Billing or Service) Billing Provider: Loop 2100B, NM101=41 (required) Service Provider: Loop 2100C, NM101=1P if this is not present it is added; npi = BillingProvider taxId ID | 2/3 R |
Name | Element | Description | Constraints |
---|---|---|---|
subscriber (Object) | R | ||
memberId | NM109 | Member ID for the subscriber. Maps to subscriberId . | 2/80 R |
firstName | NM104 | Subscriber’s first name. Maps to subscriber firstName | 1/35 S |
lastName | NM103 | Subscriber’s last name. Maps to subscriber lastName . | 1/60 S |
Name | Element | Description | Constraints |
---|---|---|---|
dependent (Object) | S | ||
firstName | NM104 | Dependent’s first name. Maps to dependent firstName . | 1/35 S |
lastName | NM103 | Dependent’s last name. Maps to dependent lastName . | 1/60 S |
See the 276/277 Implementation Guide, pp. 137, and the OpenAPI spec for further details.
Name | Element | Description | Constraints |
---|---|---|---|
claimStatus (Object) | Generic for: 2200D - Subscriber 2200E - Dependent | S | |
statusCategoryCode | STC01-1 | Healthcare claim status category code. Code from a specific industry code list. Example: F3 | 1/30 R |
statusCategoryCodeValue | Value of the Status category code. Example: F3=Finalized/Revised - Changes to Adjudication information | 1/30 R | |
statusCode | STC01-02 | Status of the claim or a service line. Example: 3 | 1/30R |
statusCodeValue | Text describing the status code. Example: 3=Claim has been adjudicated and is awaiting payment cycle. | 1/100 R | |
entityCode | ST01-03 | Code identifying an organizational entity, location, property or an individual. Example: 2P | 2/3 S |
entity | ST01-03 | Text describing the entity code. Example: 2P value is Public Health Service Facility | 1/100 S |
effectiveDate | STC02 | Date the claim was placed in this status by the information source’s adjudication process. Format: YYYYMMDD | 8/8 R |
submittedAmount | STC04 | Total claim charge amount. This value may differ from the submitted total claim charge due to claim splitting and other claims processing instructions. | 1/18 S |
amountPaid | STC05 | Claim payment amount. | 1/18 S |
paidDate | STC06 | Date of the denial or approval of the claim. Format: YYYYMMDD | 8/8 S |
checkIssueDate | STC08 | Check issue or EFT funds available date. Format: YYYYMMDD | 8/8 S |
checkNumber | STC09 | Check or EFT trace number. | 1/16 S |
trackingNumber | TRN02 | Referenced transaction trace number. Provides unique ID for the transaction. | 1/50 R |
claimServiceDate | DTP03 | Claim service period. Date or Date range, format YYYYMMDD | 1/35 R |
One REF02 value is required, based on the REF01 code. | |||
tradingPartnerClaimNumber | REF02 | The payer’s assigned control number. REF01 = 1K | 1/50 |
patientAccountNumber | REF02 | The Patient Account Number. REF01 = EJ | 1/50 |
clearingHouseClaimNumber | REF02 | The Clearing House Claim Number. REF01 = D9 | 1/50 |
Name | Element | Description | Constraints |
---|---|---|---|
serviceDetails (Array of Objects) | Generic for: 2200D - Subscriber 2200E - Dependent | S | |
service (Object) | Required when status is requested for Service Lines. | S | |
serviceIdQualifierCode | SVC01-1 | Code identifying the type/source of the descriptive number in Product/Service ID. Code Example: AD See the X12 EDI 277 implementation guide for more details. | 2/2 R |
serviceIdQualifier | String associated with the service code. Example: American Dental Association Codes | 1/100 R | |
procedureId | SVC01-2 | Identifying number for a product or service. | 1/48 R |
submittedAmount | SVC02 | Amount submitted for the service. This is the line item total on the current claim service status. | 1/18 R |
amountPaid | SVC03 | Amount paid for the service. | 1/18 |
revenueCode | SVC04 | National uniform billing committee revenue code. | 1/48 S |
submittedUnits | SVC07 | Original submitted units of service. | 1/15 R |
status (Array) | |||
statusCategoryCode | STC01-1 | The health care claim status category code. Example: F3 | 1/30 R |
statusCategoryCodeValue | Explanatory value of the category code. F3 = Finalized/Revised - Adjudication information has been changed | R | |
statusCode | STC01-2 | Status code used to identify the status of an entire claim or a service line. Example: 3 | 1/30 R |
statusCodeValue | Status Code explanatory value. 3 = Claim has been adjudicated and is awaiting payment cycle. | 1/100 R | |
entityCode | STC01-3 | Code for the entity. Example: 2P See the X12 EDI 277 implementation guide for more details. | 2/3 S |
entity | Explanatory value of the entity code. Example: 2P = Public Health Service Facility | 1/100 S | |
effectiveDate | STC02 | Effective date of the status information. The date the service was placed in this status by the information source’s adjudication. Date or Date range, format YYYYMMDD | 8/8 R |
Name | Description |
---|---|
errorResponse (Object) | |
code | Code for the error. Example: INVALIDMISSINGINPUTDATA |
description | Description of the error code. Value provided in payer id should be a valid CHC assigned ERA payer Id. |
errors (Array of objects) | |
field | Attribute that is bad. |
value | Value of that attribute. |
code | Code for the error. Example: INVALIDVALUE |
location | Segment/location where error occurred. If this is a network/system error, there is no location attribute. Example: $.payerBenefits[0].payer |
followupAction | Follow-up action required for the error. For AAA errors, this is the value for AAA04 |
Updated 4 months ago