EDI Converter 2.15.0-beta Release: EDI Validation API with SNIP Level Support
We’re pleased to announce 2.15.0-beta of our EDI Converter.
This beta release introduces EDI validation for X12 healthcare transactions. You can now validate EDI files against supported SNIP levels, receive structured validation issue objects in JSON, and view validation issues directly next to the original EDI segments.
The converter currently supports SNIP Levels 1, 2, 3, and 5, covering envelope validation, HIPAA implementation guide syntax, balancing checks, and external code set validation.
Key Features
EDI Validation API
The new EDI Validation API lets you validate files in two ways:
- Set
validate=trueon theapi/edi/jsonendpoint to validate while converting. - Call
api/edi/validateto return only validation issues.
Validation does not stop conversion. If the converter finds validation issues, it continues processing and reports the issues in the response.
SNIP Level Validation
EDI Converter 2.15.0-beta organizes validation by SNIP level:
- SNIP Level 1: interchange and envelope validation, including ISA/IEA, GS/GE, and ST/SE checks.
- SNIP Level 2: HIPAA implementation guide syntax validation, including required segments, elements, data types, and loop rules.
- SNIP Level 3: balancing validation, including claim totals, service line totals, payment amounts, quantities, and counts.
- SNIP Level 5: external code set validation, including healthcare code validity.
Structured Validation Issues
Each validation failure is returned as a structured validation issue object. The object includes the EDI loop, segment, element, failing value, original EDI segment, source location, and a human-readable message.
Example:
{
"objectType" : "VALIDATION",
"issueType" : "VALUE_NOT_IN_ENUM_LIST",
"issueObjectClass" : "Claim",
"fieldName" : "providerSignatureIndicator",
"sourceLocation" : {
"fileName" : "837P-validation-issues.edi",
"lineNumber" : 19,
"segmentNumber" : 19
},
"loop" : "2300",
"segment" : "CLM",
"element" : "CLM06",
"value" : "V",
"ediString" : "CLM*26463774*100***111:B:1*V*A*Y*I~",
"message" : "Value 'V' is not in the allowed values list",
"allowedValues" : [ "Y", "N" ]
}
Validation issues related to a claim, payment, or member coverage object are attached to that object. Issues that are not tied to a specific data object are reported at the root of the conversion stream.
Text Validation Output
For troubleshooting, you can call api/edi/validate/text to return annotated text output. Validation issues are printed under the original EDI segment with a !! marker.
Example:
CLM*26463774*100***111:B:1*V*A*Y*I~
!!Loop:2300, Element:CLM05-1, Field: facility_type_code | Place of Service 111 is not a valid code
!!Loop:2300, Element:CLM06, Field: Claim.providerSignatureIndicator | Value 'V' is not in the allowed values list. Allowed values: [Y, N]
!!Loop:2300, Segment:CLM, Field: Claim.chargeAmount | Claim 26463774: The sum of line charge amounts 99.00 does not match the claim charge amount 100.00
This format is useful when you want to review validation failures next to the EDI text that produced them.
Local EDI Viewer Validation
The bundled local EDI Viewer can also validate files. It highlights invalid segments and elements in red and prints validation issues under the affected segment, similar to the text validation output.
Because the viewer is bundled with the local API server, you can use it inside your own network without sending PHI to an external service.
How to Try It
Public API
You can try EDI validation before installing the converter by using our public API. Use your license key as the API key in the X-Api-Key header:
curl -H "Content-Type: text/plain" \
-H "X-Api-Key: $API_KEY" \
--data-binary @../edi_files/837/837P-validation-issues.edi \
"https://datainsight.health/clinsight/api/edi/validate"
Do not submit PHI or personally identifiable information to the public API.
You can request your trial license key from our website.
See the EDI Validation API documentation for the complete API example, request options, validation response schema, and text validation endpoint.
API Docker Container
Update the image tag to myarch/ediconvert:2.15.0-beta and pull the new image.
EDI Parser for Java
Update your Gradle or Maven dependency:
implementation 'hdi:edi:2.15.0-beta.10'
AWS Lambda Function
Update the Lambda deployment from our S3 bucket:
aws lambda update-function-code --function-name <your function name> \
--s3-bucket ediconverter --s3-key ediconvert-lambda-2.15.0-beta.zip
Set VALIDATE=true in the environment variables.
Documentation
Refer to the EDI Validation API documentation for endpoint details, validation issue schemas, text output examples, public API usage, and current SNIP level support.