EDI Rules Reader

View All EDI Validation Rules

Main Features

Details

The architectural backbone of the RDPCrystal EDI Library, EDIRulesReader is arguably the most critical component in the entire suite. It dynamically constructs the robust validation blueprint required to analyze and ingest complex data streams. By serving as the core intelligence engine behind EDIValidator, EDIRulesReader provides the precise structural maps necessary to execute flawless data validation and high-speed loading every single time.

It contains the following meta data for each Implementation Guide

  • Element Definitions – ID, Type, Minimum, Maximum, Description
  • Segment Definitions – Names, Usage
  • Composite Elements Definitions – Names, Usage
  • EDI File Structure – Loop Hierarchy
  • Elements Formats – Regular Expressions used to validate data like dates, times, ids etc.
  • Validation Rules – Required, Optional, Not Used loops, segments and elements
  • Summary Rules
  • Segment Constraints
  • Element Constraints
  • Code List and Accepted Values
  • Plus much more

Customized views of the EDI rules can be created depending on usage

EDIValidator_Tree

The Code

// Create an instance of the EDI Rules Reader
EDIRulesReader reader = new EDIRulesReader("C:\\EDIRules.Rules");

// Load EDI Rules
reader.Parse();

// After parsing the following dictionary lists are available for custom programming and application development
// All the elements in the rules file
this.elements = reader.Elements;

// All the segments in the rules file
this.segments = reader.Segments;

// All the composite segments in the rules file
this.compositeSegments = reader.CompositesSegments;

// All the segment schemas in the rules file
this.segmentSchemas = reader.SegmentSchemas;

// All code list in the rules files (internal and external)
this.codeLists = reader.CodeLists;

// All element formats
this.elementFormats = reader.ElementFormats;

// The complete rules of the .Rules format included loops, usages, segments, elements, element values
this.loopSchema = reader.Schema;