EDI Functions
EDI to XML
|
EDI to JSON
|
XML/JSON to EDI
|
Converts an EDI interchange into an XML document without information loss. X12 and EDIFACT are both supported, as the are for the other functions described here. The XML format is the "native" XML produced by the underlying EDIReader parser, which is not specific to any particular standard or version.
The segment loops specific to a particular transaction/version are fully reflected in the XML. For example, the 1000A loop identifying the submitter name for an 837 health care claim groups the segments and any nested loops within that loop. |
Converts an EDI interchange to JSON, analogous to the EDI to XML function.
A default JSON format is built-in, and you may modify a JsonAdapter to support a JSON format to meet your integration requirements. |
The transformation from EDI to XML or JSON may be reversed, producing EDI output.
The syntax details (delimiters, terminators, etc.) of the EDI output may be configured independent of the XML/JSON input. |
EDI output using a template
|
Splitting EDI
|
Compliance Checking
|
In addition to the option for producing EDI from XML/JSON input, a template+script approach is also provided.
The template is basically as example of the transaction you want to produce, with certain elements marked for replacement with a value at runtime. You then develop a mapping "script" in Java that access content from your internal sources of data and injects values into the template. |
An interchange containing many transactions may be "split" into a series of equivalent interchanges containing only a single transaction each.
This feature can be valuable when receiving batch input for a transaction-focussed workflow. |
EDI transactions may be validated for compliance to a given EdiModel, analogous to validating an XML document per an XSD.
The EdiModel expresses all of the necessary compliance rules: required elements within a segment, data type and length requirements for an element, required segments within a loop, maximum occurrences for a segment or loop, etc. An EdiModel may be derived from material licensed from X12 (we carefully honor X12's intellectual property), or potentially from your own reference material. EdiModels for EDIFACT transactions are available from BerryWorks. |
Loading EDI into Java objects
|
Converting EDI to ...
|
Editing EDI
|
The EDIObjects API loads an EDI interchange into an Interchange object, providing access to an object graph for all the loops, segments, elements, and composites. There is a Java class for every X12 segment type, allowing you to map values from elements using domain-specific names and data types.
|
The framework provides opportunity for you to write your own handler subclass to receive the attributes and data for loops, segments, and elements as they are parsed. Therefore, the EDI content can be converted to CSV, or to SQL rows, or calls to a REST API, or any number of other possibilities.
|
An EDI stream editor allows you change the syntax details and control numbers of an arbitrarily large stream of EDI data. Inspired by sed, an early Unix stream editor, this EDI stream editor is very efficient and a handy tool to have around.
|