X12 EDI Conversion and Parsing API (2.13.6)

Download OpenAPI specification:

EDI Converter API for converting/parsing 835, 837 and other healthcare EDI and NCPDP telecom transactions to JSON or CSV.

Application Info

Returns application info, including version and license

Get version and license info

Returns application info, including version and license

Responses

Response Schema: application/json
version
string
buildDateTime
string <date-time>
object (LicenseInfo)

Response samples

Content type
application/json
{
  • "version": "2.10",
  • "buildDateTime": "2024-11-26T12:23:10.875",
  • "licenseInfo": {
    }
}

EDI-to-CSV

Converts X12 EDI input to CSV. You can post the EDI file's content as text or use multi-part request to upload files.

See Python and curl examples in our GitHub repo.
See also introduction to the CSV conversion API here.

You can find output examples for all formats here.

Convert X12 EDI 837/835/834 to CSV

Converts X12 EDI input into comma-separated (CSV) flat file format. EDI can be posted as text in the body of the request or uploaded using a multi-part/form-data request.

The output is streamed as the input is parsed.

See the data dictionary for more details about the response schema, including mappings to X12 EDI elements.

The CSV output is highly customizable. See this guide for more details.

Output examples:

query Parameters
schemaFileName
string
Default: "csv_conversion.yaml"

Name of the file containing the CSV conversion schemas. See this document for more details.

schemaName
string
Default: "lines-with-header-repeat-first-row"

Name of the 'schema' (configuration) for CSV conversion in the CSV schema file. See this document for more details.

ediFileName
string

The name of the EDI file submitted as text. This name will be propagated to the fileName column. Ignored for multipart requests.

warningsInResponse
boolean
Default: false

Write EDI parsing warnings to the response stream. Warnings are written into the first column and start with "WARNING:" prefix. If not set, warnings are only written to logs. See User Guide for more details.

maxWarnings
integer
Default: 50

Maximum number of EDI parsing warnings per file before raising Too Many Warnings" error and stopping.

chunkSize
integer <int32>
Default: 200

How many claims or payments to parse at a time

Request Body schema:
files
required
Array of strings <binary> [ items <binary > ]

Responses

Response Schema: text/plain
One of
id
string

Unique payment identifier assigned by the converter

transactionType
string

Transaction set identifier code. EDI: ST01

fileName
string

Converted X12 EDI file name

transactionControlNumber
string

Transaction set control number. EDI: ST02

patientControlNumber
string

Identifier used to track a claim from creation by the health care provider through payment. EDI: CLP01

claimStatus
string

Claim status

chargeAmount
number <float>

Charge amount. EDI: CLP03

paymentAmount
number <float>

Payment amount. EDI: CLP04

patientResponsibilityAmount
number <float>

Patient responsibility amount. EDI: CLP05

claimFilingIndicatorCode
string

Claim filing indicator code. EDI: CLP06

payerControlNumber
string

Payer control number. EDI: CLP07

object (Code)

Place of service code (professional/dental) or UB facility code (institutional) from the original claim
View codes and descriptions. EDI: CLP08

frequencyTypeCode
string

Frequency type code
View codes and descriptions. EDI: CLP09

drgCode
string

Diagnosis-related group code. Institutional claims only.. EDI: CLP11

drgWeight
number <float>

Adjudicated DRG weight. Institutional claims only.. EDI: CLP12

dischargeFraction
number <float>

Adjudicated discharge fraction. Institutional claims only. This is a percentage expressed as decimal.. EDI: CLP13

totalPaymentAmount
number <float>

Total payment amount. EDI: BPR02

creditOrDebitFlagCode
string

Credit or debit flag code. EDI: BPR03

paymentMethodType
string

Payment method type. EDI: BPR04

receiverAccountNumber
string

Receiver account number. EDI: BPR15

paymentDate
string <date>

Payment date. EDI: BPR16

checkOrEftTraceNumber
string

Check or eft trace number. EDI: TRN02

payerEin
string

Payer identifier. This must be a '1' followed by the payer EIN. This field is also copied to the payerIdentifier field if it wasn't provided in N104.. EDI: TRN03

productionDate
string <date>

Production date. EDI: DTP03 *405

totalAdjAmount
number <float>

Sum total of all adjustments from all service lines

Array of objects (Adjustment)

Claim adjustments. EDI: CAS

object (Party)

Payer. EDI: N1 *PR

object (Party)

Payee. EDI: N1 *PE

object (PartyIdName)

The insured (subscriber) or patient from the original claim. EDI: NM1 *QC

object (PartyIdName)

The insured (subscriber) from the original claim if the insured is different from the patient. EDI: NM1 *44

object (PartyIdName)

Corrected patient. EDI: NM1 *74

object (PartyIdName)

Service provider. EDI: NM1 *SJ

object (PartyIdName)

Crossover carrier. EDI: NM1 *TT

object (PartyIdName)

Corrected priority payer, meaning that current payer believes that another payer has priority for making a payment. EDI: NM1 *PR

object (PartyIdName)

Other subscriber. EDI: NM1 *GB

Array of objects (Reference)

Other claim-related identifications. EDI: REF

serviceDateFrom
string <date>

The earliest service date from service lines

serviceDateTo
string <date>

The latest service date from service lines

statementDateFrom
string <date>

Statement date from. EDI: DTP03 *232

statementDateTo
string <date>

Statement date to. EDI: DTP03 *233

coverageExpirationDate
string <date>

Coverage expiration date. EDI: DTP03 *036

claimReceivedDate
string <date>

Claim received date. EDI: DTP03 *050

coverageAmount
number <float>

Coverage amount from the list of supplemental amounts. EDI: AMT02 *AU

Array of objects (Amount)

Supplemental claim/payment amounts, such as coverage amount, discount amount, etc.. EDI: AMT

Array of objects (Quantity)

Supplemental claim/payment quantities. EDI: QTY

Array of objects (PaymentLineCsv)

Service payment information. EDI: Loop: 2110

Request samples

# Post EDI as text
curl -X POST -H "Content-Type: text/plain" \
--data-binary  @../edi_files/835/835.edi  \ 
"$API_URL/edi/csv?ediFileName=837.edi"

# Upload EDI files using multipart request
curl -F files=@"../edi_files/837/837-1.dat" -F files=@"../edi_files/837/837-2.dat" \
$API_URL/edi/csv

Response samples

Content type
text/plain
Example
Id,TransactionType,FileName,TransactionControlNumber,PatientControlNumber,ClaimStatus,ChargeAmount,PaymentAmount,PatientResponsibilityAmount,ClaimFilingIndicatorCode,PayerControlNumber,FacilityCode,FrequencyTypeCode,DrgCode,DrgWeight,DischargeFraction,TotalPaymentAmount,CreditOrDebitFlagCode,PaymentMethodType,ReceiverAccountNumber,PaymentDate,CheckOrEftTraceNumber,PayerEin,ProductionDate,TotalAdjAmount,Adj1Group,Adj1ReasonCode,Adj1Amount,Adj1Quantity,Adj2Group,Adj2ReasonCode,Adj2Amount,Adj2Quantity,Adj3Group,Adj3ReasonCode,Adj3Amount,Adj3Quantity,Adj4Group,Adj4ReasonCode,Adj4Amount,Adj4Quantity,Adj5Group,Adj5ReasonCode,Adj5Amount,Adj5Quantity,PayerIdentificationType,PayerIdentifier,PayerName,PayerAddressLine,PayerAddressLine2,PayerAddressCity,PayerAddressStateCode,PayerAddressZipCode,PayerContact1Name,PayerContact1ContactNumber1Type,PayerContact1ContactNumber1Number,PayerContact1ContactNumber2Type,PayerContact1ContactNumber2Number,PayerContact2Name,PayerContact2ContactNumber1Type,PayerContact2ContactNumber1Number,PayerContact2ContactNumber2Type,PayerContact2ContactNumber2Number,PayerAdditionalId1Type,PayerAdditionalId1Identification,PayerAdditionalId2Type,PayerAdditionalId2Identification,PayeeIdentificationType,PayeeIdentifier,PayeeLastNameOrOrgName,PayeeAddressLine,PayeeAddressLine2,PayeeAddressCity,PayeeAddressStateCode,PayeeAddressZipCode,PayeeContacts,PayeeAdditionalId1Type,PayeeAdditionalId1Identification,PayeeAdditionalId2Type,PayeeAdditionalId2Identification,PatientIdentificationType,PatientIdentifier,PatientLastName,PatientFirstName,PatientMiddleName,SubscriberIdentificationType,SubscriberIdentifier,SubscriberLastName,SubscriberFirstName,SubscriberMiddleName,CorrectedPatientIdentificationType,CorrectedPatientIdentifier,CorrectedPatientLastName,CorrectedPatientFirstName,CorrectedPatientMiddleName,ServiceProviderIdentificationType,ServiceProviderIdentifier,ServiceProviderLastNameOrOrgName,ServiceProviderFirstName,ServiceProviderMiddleName,ServiceProviderContacts,ServiceProviderAdditionalId1Type,ServiceProviderAdditionalId1Identification,ServiceProviderAdditionalId2Type,ServiceProviderAdditionalId2Identification,CrossoverCarrierIdentificationType,CrossoverCarrierIdentifier,CrossoverCarrierName,CorrectedPayerIdentificationType,CorrectedPayerIdentifier,CorrectedPayerName,OtherSubscriberIdentificationType,OtherSubscriberIdentifier,OtherSubscriberLastName,OtherSubscriberFirstName,OtherSubscriberMiddleName,OtherClaimRelatedId1Type,OtherClaimRelatedId1Identification,OtherClaimRelatedId2Type,OtherClaimRelatedId2Identification,ServiceDateFrom,ServiceDateTo,StatementDateFrom,StatementDateTo,CoverageExpirationDate,ClaimReceivedDate,CoverageAmount,SupplementalAmt1QualifierCode,SupplementalAmt1Type,SupplementalAmt1Amount,SupplementalAmt2QualifierCode,SupplementalAmt2Type,SupplementalAmt2Amount,SupplementalQty1QualifierCode,SupplementalQty1Type,SupplementalQty1Quantity,SupplementalQty2QualifierCode,SupplementalQty2Type,SupplementalQty2Quantity,LineControlNumber,LineProcedureCode,LineProcedureModifier1Code,LineProcedureModifier2Code,LineProcedureModifier3Code,LineRevenueCode,LineDrugCode,LineChargeAmount,LinePaidAmount,LineUnitCount,LineOriginalProcedureCode,LineOriginalProcedureModifier1Code,LineOriginalProcedureModifier2Code,LineOriginalProcedureModifier3Code,LineOriginalRevenueCode,LineOriginalDrugCode,LineOriginalUnitCount,LineServiceDateFrom,LineServiceDateTo,LineTotalAdjAmount,LineAdj1Group,LineAdj1ReasonCode,LineAdj1Amount,LineAdj1Quantity,LineAdj2Group,LineAdj2ReasonCode,LineAdj2Amount,LineAdj2Quantity,LineAdj3Group,LineAdj3ReasonCode,LineAdj3Amount,LineAdj3Quantity,LineAdj4Group,LineAdj4ReasonCode,LineAdj4Amount,LineAdj4Quantity,LineAdj5Group,LineAdj5ReasonCode,LineAdj5Amount,LineAdj5Quantity,LineServiceId1Type,LineServiceId1Identification,LineServiceId2Type,LineServiceId2Identification,LineServiceId3Type,LineServiceId3Identification,LineHealthcarePolicyId,LineRenderingProviderId1Type,LineRenderingProviderId1Identification,LineRenderingProviderId2Type,LineRenderingProviderId2Identification,LineAllowedAmount,LineSupplementalAmt1QualifierCode,LineSupplementalAmt1Type,LineSupplementalAmt1Amount,LineSupplementalAmt2QualifierCode,LineSupplementalAmt2Type,LineSupplementalAmt2Amount,LineSupplementalQty1QualifierCode,LineSupplementalQty1Type,LineSupplementalQty1Quantity,LineSupplementalQty2QualifierCode,LineSupplementalQty2Type,LineSupplementalQty2Quantity,LineRemarkCode1,LineRemarkCode2,LineRemarkCode3,LineRemarkCode4,LineRemarkCode5
685ed81b064e3f313d0031b7,835,claim_adj_reason.dat,10060875,PATACCT,PRIMARY,400,80,,MC,CLAIMNUMBER,11,1,,,,80,C,CHECK,,2019-08-16,CK NUMBER 1,1234567890,2019-08-27,320,,,,,,,,,,,,,,,,,,,,,,1234567890,ANY PLAN USA,1 WALK THIS WAY,,ANYCITY,OH,45209,,PHONE,8661112222,,,EDI,PHONE,8002223333,EMAIL,EDI.SUPPORT@ANYPAYER.COM,,,,,NPI,1123454567,PROVIDER,2255 ANY ROAD,,ANY CITY,CA,12211,,,,,,MEMBER_ID,ABC123456789,DOE,JOHN,N,MEMBER_ID,ABC123456789,DOE,JOHN,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2019-01-01,2019-01-01,,,,2019-02-09,150,AU,COVERAGE_AMOUNT,150,,,,,,,,,,1,99213,,,,,,150,80,1,,,,,,,,2019-01-01,2019-01-01,70,CONTRACTUAL,45,70,,,,,,,,,,,,,,,,,,,,,,,,,,,,,80,B6,ALLOWED_ACTUAL,80,,,,,,,,,,,,,,
685ed81b064e3f313d0031b7,,,,PATACCT,,,,,,CLAIMNUMBER,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,85003,,,,,,100,0,1,,,,,,,,2019-01-01,2019-01-01,100,CONTRACTUAL,204,100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
685ed81b064e3f313d0031b7,,,,PATACCT,,,,,,CLAIMNUMBER,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,36415,,,,,,150,0,1,,,,,,,,2019-01-01,2019-01-01,150,CONTRACTUAL,97,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
685ed81b064e3f313d0031d9,835,not_covered_inpatient.dat,10060875,PATACCT,PRIMARY,40000,8000,,MC,CLAIMNUMBER,11,1,,,,8000,C,CHECK,,2019-08-16,CK NUMBER 1,1234567890,2019-08-27,32000,CONTRACTUAL,197,2000,1,CONTRACTUAL,45,30000,,,,,,,,,,,,,,,1234567890,ANY PLAN USA,1 WALK THIS WAY,,ANYCITY,OH,45209,,PHONE,8661112222,,,EDI,PHONE,8002223333,EMAIL,EDI.SUPPORT@ANYPAYER.COM,,,,,NPI,1123454567,PROVIDER,2255 ANY ROAD,,ANY CITY,CA,12211,,,,,,MEMBER_ID,ABC123456789,DOE,JOHN,N,MEMBER_ID,ABC123456789,DOE,JOHN,N,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2019-01-01,2019-01-05,2019-02-28,2019-02-09,38000,AU,COVERAGE_AMOUNT,38000,,,,CA,COVERED,4,,,,1,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
685ed81b064e3f313d003227,835,negotiated_discount.dat,35681,7722337,PRIMARY,226,132,10,12,119932404007801,11,1,,,,132,C,CHECK,456,2019-03-31,12345,1512345678,2019-03-14,32405,CONTRACTUAL,197,2000,1,CONTRACTUAL,45,30000,,PATIENT_RESPONSIBILITY,132,259,,,,,,,,,,,,DELTA DENTAL OF ABC,225 MAIN STREET,,CENTERVILLE,PA,17111,JANE DOE,PHONE,9005555555,,,,,,,,PAYER_IDENTIFICATION_NUMBER,0101,HEALTH_INDUSTRY_NUMBER,0202,EIN,999994703,BAN DDS LLC,225 MAIN STREET,,CENTERVILLE,PA,17111,,PAYEE_IDENTIFICATION_NUMBER,0505,,,,,DOE,SALLY,,MEMBER_ID,SJD11111,DOE,John,,,,,,,NPI,1811901945,BAN,ERIN,,,MEDICARE_PROVIDER_NUMBER,12345678,,,CMS_PLAN_ID,9876,ACME INSURANCE,CMS_PLAN_ID,8765,ACME INSURANCE,,,Smith,Jane,,,,,,2019-03-24,2019-03-25,2022-09-15,2022-09-16,2022-10-01,2022-11-24,132,AU,COVERAGE_AMOUNT,132,D8,DISCOUNT_AMOUNT,100,CA,COVERED,4,,,,A123,D0120,02,28,,0222,,46,25,3.1,D0140,1,,,,,3.5,2019-03-24,2019-03-24,21,CONTRACTUAL,131,21,,,,,,,,,,,,,,,,,,RATE_CODE_NUMBER,100,APG_NUMBER,101,AMBULATORY_PAYMENT,102,"1234""5",CMS_NPI,P123,MEDICARE_PROVIDER_NUMBER,P234,25,B6,ALLOWED_ACTUAL,25,,,,ZL,MEDICARE_MEDICAID_CAT_2,3.75,,,,M1,M2,,,
685ed81b064e3f313d003227,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,D0220,,,,,,25,14,1,,,,,,,,2019-03-24,2019-03-24,11,CONTRACTUAL,131,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,B6,ALLOWED_ACTUAL,14,,,,,,,,,,,,,,
685ed81b064e3f313d003227,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,D0230,,,,,,22,10,1,,,,,,,,2019-03-24,2019-03-24,12,CONTRACTUAL,131,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,B6,ALLOWED_ACTUAL,10,,,,,,,,,,,,,,
685ed81b064e3f313d003227,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,D0274,,,,,,60,34,1,,,,,,,,2019-03-24,2019-03-24,26,CONTRACTUAL,131,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,B6,ALLOWED_ACTUAL,34,,,,,,,,,,,,,,
685ed81b064e3f313d003227,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,D1110,,,,,,73,49,1,,,,,,,,2019-03-24,2019-03-25,76,CONTRACTUAL,131,24,,CONTRACTUAL,3,25,,OTHER,131,27,,,,,,,,,,,,,,,,,,,,,49,B6,ALLOWED_ACTUAL,49,KH,DEDUCTION,50,,,,,,,,,,,
685ed81b064e3f313d00324a,835,dollars_data_separate.dat,112233,5554555444,PRIMARY,800,500,300,12,94060555410000,11,1,,,,1100,C,ACH,144444,2019-03-16,71700666555,1935665544,2019-03-14,300,,,,,,,,,,,,,,,,,,,,,,1935665544,RUSHMORE LIFE,10 SOUTH AVENUET,,RAPID CITY,SD,55111,JOHN WAYNE,PHONE,8005551212,EXTENSION,123,,,,,,,,,,NPI,5544667733,ACME MEDICAL CENTER,,,,,,,,,,,MEMBER_ID,33344555510,BUDD,WILLIAM,,MEMBER_ID,33344555510,BUDD,WILLIAM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2023-03-01,2023-03-01,,,,,800,AU,COVERAGE_AMOUNT,800,,,,,,,,,,1,99211,,,,,,800,500,1,,,,,,,,2023-03-01,2023-03-01,300,PATIENT_RESPONSIBILITY,1,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,800,B6,ALLOWED_ACTUAL,800,,,,,,,,,,,,,,
685ed81b064e3f313d00324b,835,dollars_data_separate.dat,112233,8765432112,PRIMARY,1200,600,600,12,9407779923000,11,1,,,,1100,C,ACH,144444,2019-03-16,71700666555,1935665544,2019-03-14,600,,,,,,,,,,,,,,,,,,,,,,1935665544,RUSHMORE LIFE,10 SOUTH AVENUET,,RAPID CITY,SD,55111,JOHN WAYNE,PHONE,8005551212,EXTENSION,123,,,,,,,,,,NPI,5544667733,ACME MEDICAL CENTER,,,,,,,,,,,MEMBER_ID,44455666610,SETTLE,SUSAN,,MEMBER_ID,44455666610,SETTLE,SUSAN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2023-03-10,2023-03-10,,,,,1200,AU,COVERAGE_AMOUNT,1200,,,,,,,,,,1,93555,,,,,,1200,600,1,,,,,,,,2023-03-10,2023-03-10,600,PATIENT_RESPONSIBILITY,1,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1200,B6,ALLOWED_ACTUAL,1200,,,,,,,,,,,,,,
685ed81b064e3f313d00329f,835,835-all-fields.dat,35681,7722337,PRIMARY,226,132,10,12,119932404007801,11,1,025,0.5,0.4,132,C,CHECK,456,2019-03-31,12345,1512345678,2019-03-14,32405,CONTRACTUAL,197,2000,1,CONTRACTUAL,45,30000,,PATIENT_RESPONSIBILITY,132,259,,,,,,,,,,,,DELTA DENTAL OF ABC,225 MAIN STREET,,CENTERVILLE,PA,17111,JANE DOE,PHONE,9005555555,EXTENSION,123,,URL,myplan.com/policies,,,PAYER_IDENTIFICATION_NUMBER,0101,HEALTH_INDUSTRY_NUMBER,0202,EIN,999994703,BAN DDS LLC,225 MAIN STREET,,CENTERVILLE,PA,17111,,PAYEE_IDENTIFICATION_NUMBER,0505,,,,,DOE,SALLY,,MEMBER_ID,SJD11111,DOE,John,,INSURED_CHANGED_ID,SJD999,Due,,,NPI,1811901945,BAN,ERIN,,,MEDICARE_PROVIDER_NUMBER,12345678,,,CMS_PLAN_ID,9876,ACME INSURANCE,CMS_PLAN_ID,8765,ACME INSURANCE,,,Smith,Jane,,,,,,2019-03-24,2019-03-25,2022-09-15,2022-09-16,2022-10-01,2022-11-24,132,AU,COVERAGE_AMOUNT,132,D8,DISCOUNT_AMOUNT,100,CA,COVERED,4,,,,A123,D0120,02,28,,0022,,46,25,3.1,D0140,1,,,,,3.5,2019-03-24,2019-03-24,21,CONTRACTUAL,131,21,,,,,,,,,,,,,,,,,,RATE_CODE_NUMBER,100,APG_NUMBER,101,AMBULATORY_PAYMENT,102,"1234""5",CMS_NPI,P123,MEDICARE_PROVIDER_NUMBER,P234,25,B6,ALLOWED_ACTUAL,25,,,,ZL,MEDICARE_MEDICAID_CAT_2,3.75,,,,M1,M2,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,D0220,,,,,,25,14,1,,,,,,,,2019-03-24,2019-03-24,11,CONTRACTUAL,131,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,B6,ALLOWED_ACTUAL,14,,,,,,,,,,,,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,D0230,,,,,,22,10,1,,,,,,,,2019-03-24,2019-03-24,12,CONTRACTUAL,131,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,B6,ALLOWED_ACTUAL,10,,,,,,,,,,,,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,D0274,,,,,,60,34,1,,,,,,,,2019-03-24,2019-03-24,26,CONTRACTUAL,131,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,34,B6,ALLOWED_ACTUAL,34,,,,,,,,,,,,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,0022,,99,59,1,,,,,0023,,2,2019-03-24,2019-03-24,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,D1110,,,,,,73,49,1,,,,,,,,2019-03-24,2019-03-25,76,CONTRACTUAL,131,24,,CONTRACTUAL,3,25,,OTHER,131,27,,,,,,,,,,,,,,,,,,,,,49,B6,ALLOWED_ACTUAL,49,KH,DEDUCTION,50,,,,,,,,,,,
685ed81b064e3f313d00329f,,,,7722337,,,,,,119932404007801,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,00002143481,60,59,10.5,,,,,,00002143482,9.2,2019-03-24,2019-03-24,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

EDI-to-JSON

Converts (parses) X12 EDI input to JSON. You can post the EDI file's content as text or use multi-part request to upload files.

See Python and curl examples in our GitHub repo.

Intro to the schema of JSON response:

You can find output examples for all formats here.

Convert X12 EDI to JSON

Converts X12 EDI input to JSON. EDI can be posted as text in the body of the request or uploaded using a multi-part/form-data request.

The response is a JSON array or NDJSON (new-line delimited JSON).
The output is streamed as the input is parsed.

See the data dictionary for more details about the response schema, including mapping to X12 EDI elements.

query Parameters
ndjson
boolean
Default: false

Produce NDJSON instead of JSON array

splitTran
boolean
Default: false

Parse by claim/payment as opposed to an entire transaction. Set it to 'true' for 837/835 transactions. Must be set to 'false' for all other transactions.

descriptions
boolean
Default: true

Provide descriptions for all codes (ICD, CPT, NDC). Descriptions can increase the size of the response. This option defaults to true.

ediFileName
string

The name of the EDI file submitted as text. This name will be propagated to the transaction.fileInfo.name field. Ignored for multipart requests.

warningsInResponse
boolean
Default: false

Write EDI parsing warnings to the response stream as 'warning' objects. If not set, warnings are only written to logs. See User Guide for more details.

maxWarnings
integer
Default: 50

Maximum number of EDI parsing warnings per file before raising "Too Many Warnings" error and stopping.

chunkSize
integer <int32>
Default: 200

How many claims, payments or transactions to parse at a time

convertToSegments
string

Convert to the EDI loop and segment tree instead of the list of claims, payments, and other objects

Request Body schema:
files
required
Array of strings <binary> [ items <binary > ]

Responses

Response Schema: application/json
Array
One of
id
string

Unique payment identifier assigned by the converter

objectType
string

Type of this object, set to 'PAYMENT'

patientControlNumber
required
string

Identifier used to track a claim from creation by the health care provider through payment. EDI: CLP01

chargeAmount
required
number <float>

Charge amount. EDI: CLP02

paymentAmount
required
number <float>

Payment amount. EDI: CLP04

object (Code)

Place of service code (professional/dental) or UB facility code (institutional) from the original claim
View codes and descriptions. EDI: CLP08

object (Code)

Frequency code
View codes and descriptions. EDI: CLP09

statementDateFrom
string <date>

Statement date from. EDI: DTP03 *232

statementDateTo
string <date>

Statement date to. EDI: DTP03 *233

serviceDateFrom
string <date>

The earliest service date from service lines

serviceDateTo
string <date>

The latest service date from service lines

object (PatientSubscriber835)

The insured (subscriber) from the original claim if the insured is different from the patient. EDI: Loop: 2100

object (PatientSubscriber835)

The insured (subscriber) or patient from the original claim. EDI: Loop: 2100

Array of objects (PatientSubscriber835)

Other subscriber; only one other subscriber is allowed on 835. EDI: Loop: 2100

Array of objects (PaymentLine)

Service lines. EDI: Loop: 2110

object (Transaction835)

Parent EDI transaction for this object

claimStatusCode
string

Claim status code. EDI: CLP02

claimStatus
string

Claim status code translated to a string constant (enum), such as PRIMARY,SECONDARY. EDI: CLP02

patientResponsibilityAmount
number <float>

Patient responsibility amount. EDI: CLP05

claimFilingIndicatorCode
string

Claim filing indicator code. EDI: CLP06

insurancePlanType
string

Claim filing indicator code translated to a string constant (enum), such as PPO, HMO. EDI: CLP06

payerControlNumber
string

Payer control number. EDI: CLP07

object (Code)

Diagnosis-related group code. Institutional claims only.. EDI: CLP11

drgWeight
number <float>

Adjudicated DRG weight. Institutional claims only.. EDI: CLP12

dischargeFraction
number <float>

Adjudicated discharge fraction. Institutional claims only. This is a percentage expressed as decimal.. EDI: CLP13

Array of objects (Reference)

Other claim-related identifications. EDI: REF

Array of objects (Amount)

Supplemental claim/payment amounts, such as coverage amount, discount amount, etc.. EDI: AMT

Array of objects (Quantity)

Supplemental claim/payment quantities. EDI: QTY

object (Party)

Payer. EDI: N1 *PR

object (Party)

Payee. EDI: N1 *PE

Array of objects (Adjustment)

Claim adjustments. EDI: CAS

coverageExpirationDate
string <date>

Coverage expiration date. EDI: DTP03 *036

claimReceivedDate
string <date>

Claim received date. EDI: DTP03 *050

object (PartyIdName)

Service provider. EDI: NM1 *SJ

object (PartyIdName)

Crossover carrier. EDI: NM1 *TT

object (PartyIdName)

Corrected priority payer, meaning that current payer believes that another payer has priority for making a payment. EDI: NM1 *PR

object (PartyIdName)

Corrected insured. EDI: NM1 *74

Array of objects (ContactInfo)

Claim contacts

Request samples

# Post EDI as text
curl -X POST -H "Content-Type: text/plain" \
--data-binary  @../edi_files/837/837.edi  \ 
"$API_URL/edi/json?splitTran=true&ndjson=true&ediFileName=837.edi"

# Upload EDI files using multipart request
curl -F files=@"../edi_files/837/837-1.dat" -F files=@"../edi_files/837/837-2.dat" \
"$API_URL/edi/json?splitTran=true&ndjson=true"

Response samples

Content type
application/json
Example
[
  • {
    }
]

Convert X12 EDI to JSON in memory (small files)

Parses X12 EDI and returns returns an array of claims (837), payments (835) or segments (all other transactions). The parsing is done entirely in memory, so this endpoint is only suitable for small files. Fully synchronous; the entire file is parsed before returning the response. For large files use 'api/edi' endpoints instead.

See Python example here.

query Parameters
asSegments
boolean
Default: false

Return JSON representation of loops and segments. This is the default mode for non-835, non-837 transactions.

gen999
boolean
Default: false

Generate 999–Functional Group Acknowledgement Report for all parsed transactions. The resulting EDI is available in the "ackEdi" field of the response

Request Body schema: text/plain
required

Text in X12 EDI format

string

Responses

Response Schema: application/json
Array of ProfClaim (object) or InstClaim (object) or DentClaim (object)
Array of objects (Payment)
Array of objects (MemberCoverage)
Array of ClaimStatus (object) or ReceiverStatus (object) or ProviderStatus (object)
segments
object (ArrayNode)
ackEdi
string

Generated 999–Functional Group Acknowledgement Report for all parsed transactions

Array of objects (ParsingIssue)

Response samples

Content type
application/json
{
  • "claims": [
    ],
  • "payments": [
    ],
  • "coverages": [
    ],
  • "statuses": [
    ],
  • "segments": { },
  • "ackEdi": "string",
  • "parsingIssues": [
    ]
}

NCPDP-to-JSON

Parses text in NCPDP telecom format and returns JSON with an array of NCPDP transactions.

You can see an example of an NCPDP transaction and the parsing output here.

Additional examples are available from our GitHub repo.

Convert NCPDP input to JSON

Converts NCPDP input to JSON.

Request Body schema: text/plain
required

Text in NCPDP Telecom format

string

Responses

Response Schema: application/json
Array of objects (Segment)

Request samples

curl -H "Content-Type: text/plain" --data-binary @../edi_files/ncpdp/b1_telco_cob.dat "$API_URL/ncpdp/parse"

Response samples

Content type
application/json
Loading...