X12 EDI Conversion and Parsing API (2.10.4)

Download OpenAPI specification:Download

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

Application Info

Returns application info, including version and license

Get version and license info

Returns application info, including version and license

Responses

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.

For more output examples, navigate to our EDI resource center, select any file, and click "Export/CSV".

Convert X12 EDI 837/835 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 multi-part/form-data request. The output is streamed as the input is parsed.

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.

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

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

# 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,FacilityTypeCode,FrequencyTypeCode,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,SupplementalAmt1Type,SupplementalAmt1Amount,SupplementalAmt2Type,SupplementalAmt2Amount,SupplementalQty1Type,SupplementalQty1Quantity,SupplementalQty2Type,SupplementalQty2Quantity,LineControlNumber,LineProcedureCode,LineProcedureModifier1Code,LineProcedureModifier2Code,LineProcedureModifier3Code,LineChargeAmount,LinePaidAmount,LineRevenueCode,LineUnitCount,LineOriginalProcedureCode,LineOriginalProcedureModifier1Code,LineOriginalProcedureModifier2Code,LineOriginalProcedureModifier3Code,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,LineSupplementalAmt1Type,LineSupplementalAmt1Amount,LineSupplementalAmt2Type,LineSupplementalAmt2Amount,LineSupplementalQty1Type,LineSupplementalQty1Quantity,LineSupplementalQty2Type,LineSupplementalQty2Quantity,LineRemarkCode1,LineRemarkCode2,LineRemarkCode3,LineRemarkCode4,LineRemarkCode5
67296b98b38d5a00b592c91d,835,not_covered_inpatient.dat,10060875,PATACCT,PRIMARY,40000,8000,,MC,CLAIMNUMBER,,1,8000,C,CHECK,,2019-08-16,CK NUMBER 1,1234567890,2019-08-27,32259,CONTRACTUAL,197,2000,1,CONTRACTUAL,45,30000,,PATIENT_RESPONSIBILITY,132,259,,,,,,,,,,,,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,COVERAGE_AMOUNT,38000,,,COVERED,4,,,1,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
67296b99b38d5a00b592c949,835,dollars_data_separate.dat,112233,5554555444,PRIMARY,800,500,300,12,94060555410000,,1,1100,C,ACH,144444,2019-03-16,71700666555,1935665544,2019-03-14,300,,,,,,,,,,,,,,,,,,,,,,,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,COVERAGE_AMOUNT,800,,,,,,,1,99211,,,,800,500,,1,,,,,,2023-03-01,2023-03-01,300,PATIENT_RESPONSIBILITY,1,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,800,ALLOWED_ACTUAL,800,,,,,,,,,,,
67296b99b38d5a00b592c94a,835,dollars_data_separate.dat,112233,8765432112,PRIMARY,1200,600,600,12,9407779923000,,1,1100,C,ACH,144444,2019-03-16,71700666555,1935665544,2019-03-14,600,,,,,,,,,,,,,,,,,,,,,,,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,COVERAGE_AMOUNT,1200,,,,,,,1,93555,,,,1200,600,,1,,,,,,2023-03-10,2023-03-10,600,PATIENT_RESPONSIBILITY,1,600,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1200,ALLOWED_ACTUAL,1200,,,,,,,,,,,

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:

For more output examples, navigate to our EDI resource center, select any file, and click "Export/JSON".

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 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.

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.

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

Responses

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"

# 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 only suitable for small files. Fully synchronous; the entire file is parsed before returning the response. For large files use 'api/edi' endpoints instead.

Python example

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 samples

Content type
application/json
{
  • "claims": [
    ],
  • "payments": [