private void btnGenerate271X279_Click(object sender, System.EventArgs e) { ediDocument oEdiDoc = null; ediSchema oSchema = null; ediSchemas oSchemas = null; ediInterchange oInterchange = null; ediGroup oGroup = null; ediTransactionSet oTransactionset = null; ediDataSegment oSegment = null; //CREATES OEDIDOC OBJECT ediDocument.Set(ref oEdiDoc, new ediDocument()); //THIS MAKES CERTAIN THAT FREDI ONLY USES THE SEF FILE PROVIDED, AND THAT IT DOES //NOT USE ITS BUILT-IN STANDARD REFERENCE TABLE TO GENERATE THE EDI FILE. ediSchemas.Set(ref oSchemas,(ediSchemas) oEdiDoc.GetSchemas()); oSchemas.EnableStandardReference = false; //ENABLES FORWARD WRITE, AND INCREASES BUFFER I/O TO IMPROVE PERFORMANCE oEdiDoc.CursorType = DocumentCursorTypeConstants.Cursor_ForwardWrite; oEdiDoc.set_Property(DocumentPropertyIDConstants.Property_DocumentBufferIO, 2000); //SET TERMINATORS oEdiDoc.SegmentTerminator = "~"; oEdiDoc.ElementTerminator = "*"; oEdiDoc.CompositeTerminator = ":"; //LOADS THE SEF FILE ediSchema.Set(ref oSchema, (ediSchema) oEdiDoc.LoadSchema("271_005010X279A1.SemRef.EVAL0.SEF", 0)); //CREATES THE ISA SEGMENT ediInterchange.Set(ref oInterchange, (ediInterchange) oEdiDoc.CreateInterchange("X","005010")); ediDataSegment.Set(ref oSegment, (ediDataSegment) oInterchange.GetDataSegmentHeader()); oSegment.set_DataElementValue(1,0,"00"); //Authorization Information Qualifier oSegment.set_DataElementValue(2,0," "); //Authorization Information oSegment.set_DataElementValue(3,0,"00"); //Security Information Qualifier oSegment.set_DataElementValue(4,0," "); //Security Information oSegment.set_DataElementValue(5,0,"14"); //Interchange ID Qualifier oSegment.set_DataElementValue(6,0,"0073268795005 "); //Interchange Sender ID oSegment.set_DataElementValue(7,0,"ZZ"); //Interchange ID Qualifier oSegment.set_DataElementValue(8,0,"RECEIVERISA "); //Interchange Receiver ID oSegment.set_DataElementValue(9,0,"960807"); //Interchange Date oSegment.set_DataElementValue(10,0,"1548"); //Interchange Time oSegment.set_DataElementValue(11,0,"^"); //Repetition Separator oSegment.set_DataElementValue(12,0,"00501"); //Interchange Control Version Number oSegment.set_DataElementValue(13,0,"000000020"); //Interchange Control Number oSegment.set_DataElementValue(14,0,"0"); //Acknowledgment Requested oSegment.set_DataElementValue(15,0,"T"); //Usage Indicator oSegment.set_DataElementValue(16,0,":"); //Component Element Separator //CREATES THE GS SEGMENT ediGroup.Set(ref oGroup, (ediGroup) oInterchange.CreateGroup("005010X279")); ediDataSegment.Set( ref oSegment, (ediDataSegment) oGroup.GetDataSegmentHeader()); oSegment.set_DataElementValue(1,0,"HB"); //Functional Identifier Code oSegment.set_DataElementValue(2,0,"007326879"); //Application Sender's Code oSegment.set_DataElementValue(3,0,"RECEIVERGS"); //Application Receiver's Code oSegment.set_DataElementValue(4,0,"19960807"); //Date oSegment.set_DataElementValue(5,0,"1548"); //Time oSegment.set_DataElementValue(6,0,"1"); //Group Control Number oSegment.set_DataElementValue(7,0,"X"); //Responsible Agency Code oSegment.set_DataElementValue(8,0,"005010X279"); //Version / Release / Industry Identifier Code //CREATES THE ST SEGMENT ediTransactionSet.Set(ref oTransactionset, (ediTransactionSet) oGroup.CreateTransactionSet("271")); ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.GetDataSegmentHeader()); oSegment.set_DataElementValue(1,0,"271"); //Transaction Set Identifier Code oSegment.set_DataElementValue(2,0,"4322"); //Transaction Set Control Number oSegment.set_DataElementValue(3,0,"005010X279"); //Implementation Convention Reference //BHT - BEGINNING OF HIERARCHICAL TRANSACTION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("BHT")); oSegment.set_DataElementValue(1,0,"0022"); //Hierarchical Structure Code oSegment.set_DataElementValue(2,0,"11"); //Transaction Set Purpose Code oSegment.set_DataElementValue(3,0,"10001235"); //Reference Identification oSegment.set_DataElementValue(4,0,"20060501"); //Date oSegment.set_DataElementValue(5,0,"1319"); //Time //HL - HIERARCHICAL LEVEL ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL\\HL")); oSegment.set_DataElementValue(1,0,"1"); //Hierarchical ID Number oSegment.set_DataElementValue(3,0,"20"); //Hierarchical Level Code oSegment.set_DataElementValue(4,0,"1"); //Hierarchical Child Code //NM1 - INDIVIDUAL OR ORGANIZATIONAL NAME ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL\\NM1\\NM1")); oSegment.set_DataElementValue(1,0,"PR"); //Entity Identifier Code oSegment.set_DataElementValue(2,0,"2"); //Entity Type Qualifier oSegment.set_DataElementValue(3,0,"ABC COMPANY"); //Name Last or Organization Name oSegment.set_DataElementValue(8,0,"PI"); //Identification Code Qualifier oSegment.set_DataElementValue(9,0,"842610001"); //Identification Code //HL - HIERARCHICAL LEVEL ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(2)\\HL")); oSegment.set_DataElementValue(1,0,"2"); //Hierarchical ID Number oSegment.set_DataElementValue(2,0,"1"); //Hierarchical Parent ID Number oSegment.set_DataElementValue(3,0,"21"); //Hierarchical Level Code oSegment.set_DataElementValue(4,0,"1"); //Hierarchical Child Code //NM1 - INDIVIDUAL OR ORGANIZATIONAL NAME ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(2)\\NM1\\NM1")); oSegment.set_DataElementValue(1,0,"1P"); //Entity Identifier Code oSegment.set_DataElementValue(2,0,"2"); //Entity Type Qualifier oSegment.set_DataElementValue(3,0,"BONE AND JOINT CLINIC"); //Name Last or Organization Name oSegment.set_DataElementValue(8,0,"SV"); //Identification Code Qualifier oSegment.set_DataElementValue(9,0,"2000035"); //Identification Code //HL - HIERARCHICAL LEVEL ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(3)\\HL")); oSegment.set_DataElementValue(1,0,"3"); //Hierarchical ID Number oSegment.set_DataElementValue(2,0,"2"); //Hierarchical Parent ID Number oSegment.set_DataElementValue(3,0,"22"); //Hierarchical Level Code oSegment.set_DataElementValue(4,0,"1"); //Hierarchical Child Code //NM1 - INDIVIDUAL OR ORGANIZATIONAL NAME ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(3)\\NM1\\NM1")); oSegment.set_DataElementValue(1,0,"IL"); //Entity Identifier Code oSegment.set_DataElementValue(2,0,"1"); //Entity Type Qualifier oSegment.set_DataElementValue(3,0,"SMITH"); //Name Last or Organization Name oSegment.set_DataElementValue(4,0,"JOHN"); //Name First oSegment.set_DataElementValue(8,0,"MI"); //Identification Code Qualifier oSegment.set_DataElementValue(9,0,"123456789"); //Identification Code //N3 - ADDRESS INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(3)\\NM1\\N3")); oSegment.set_DataElementValue(1,0,"15197 BROADWAY AVENUE"); //Address Information oSegment.set_DataElementValue(2,0,"APT 215"); //Address Information //N4 - GEOGRAPHIC LOCATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(3)\\NM1\\N4")); oSegment.set_DataElementValue(1,0,"KANSAS CITY"); //City Name oSegment.set_DataElementValue(2,0,"MO"); //State or Province Code oSegment.set_DataElementValue(3,0,"64108"); //Postal Code //DMG - DEMOGRAPHIC INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(3)\\NM1\\DMG")); oSegment.set_DataElementValue(1,0,"D8"); //Date Time Period Format Qualifier oSegment.set_DataElementValue(2,0,"19630519"); //Date Time Period oSegment.set_DataElementValue(3,0,"M"); //Gender Code //HL - HIERARCHICAL LEVEL ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\HL")); oSegment.set_DataElementValue(1,0,"4"); //Hierarchical ID Number oSegment.set_DataElementValue(2,0,"3"); //Hierarchical Parent ID Number oSegment.set_DataElementValue(3,0,"23"); //Hierarchical Level Code oSegment.set_DataElementValue(4,0,"0"); //Hierarchical Child Code //TRN - TRACE ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\TRN")); oSegment.set_DataElementValue(1,0,"2"); //Trace Type Code oSegment.set_DataElementValue(2,0,"93175-012547"); //Reference Identification oSegment.set_DataElementValue(3,0,"9877281234"); //Originating Company Identifier //NM1 - INDIVIDUAL OR ORGANIZATIONAL NAME ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\NM1")); oSegment.set_DataElementValue(1,0,"03"); //Entity Identifier Code oSegment.set_DataElementValue(2,0,"1"); //Entity Type Qualifier oSegment.set_DataElementValue(3,0,"SMITH"); //Name Last or Organization Name oSegment.set_DataElementValue(4,0,"MARY"); //Name First //N3 - ADDRESS INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\N3")); oSegment.set_DataElementValue(1,0,"15197 BROADWAY AVENUE"); //Address Information oSegment.set_DataElementValue(2,0,"APT 215"); //Address Information //N4 - GEOGRAPHIC LOCATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\N4")); oSegment.set_DataElementValue(1,0,"KANSAS CITY"); //City Name oSegment.set_DataElementValue(2,0,"MO"); //State or Province Code oSegment.set_DataElementValue(3,0,"64108"); //Postal Code //DMG - DEMOGRAPHIC INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\DMG")); oSegment.set_DataElementValue(1,0,"D8"); //Date Time Period Format Qualifier oSegment.set_DataElementValue(2,0,"19981014"); //Date Time Period oSegment.set_DataElementValue(3,0,"F"); //Gender Code //INS - INSURED BENEFIT ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\INS")); oSegment.set_DataElementValue(1,0,"N"); //Yes/No Condition or Response Code oSegment.set_DataElementValue(2,0,"19"); //Individual Relationship Code //DTP - DATE OR TIME OR PERIOD ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\DTP")); oSegment.set_DataElementValue(1,0,"346"); //Date/Time Qualifier oSegment.set_DataElementValue(2,0,"D8"); //Date Time Period Format Qualifier oSegment.set_DataElementValue(3,0,"20060101"); //Date Time Period //EB - ELIGIBILITY OR BENEFIT INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB\\EB")); oSegment.set_DataElementValue(1,0,"1"); //Eligibility or Benefit Information oSegment.set_DataElementValue(3,0,"30"); //Service Type Code oSegment.set_DataElementValue(5,0,"GOLD 123 PLAN"); //Plan Coverage Description //EB - ELIGIBILITY OR BENEFIT INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(2)\\EB")); oSegment.set_DataElementValue(1,0,"L"); //Eligibility or Benefit Information //LS - LOOP HEADER ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(2)\\LS")); oSegment.set_DataElementValue(1,0,"2120"); //Loop Identifier Code //NM1 - INDIVIDUAL OR ORGANIZATIONAL NAME ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(2)\\NM1\\NM1")); oSegment.set_DataElementValue(1,0,"P3"); //Entity Identifier Code oSegment.set_DataElementValue(2,0,"1"); //Entity Type Qualifier oSegment.set_DataElementValue(3,0,"JONES"); //Name Last or Organization Name oSegment.set_DataElementValue(4,0,"MARCUS"); //Name First oSegment.set_DataElementValue(8,0,"SV"); //Identification Code Qualifier oSegment.set_DataElementValue(9,0,"0202034"); //Identification Code //LE - LOOP TRAILER ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(2)\\LE")); oSegment.set_DataElementValue(1,0,"2120"); //Loop Identifier Code //********************** Generating repeating elements *************************************************************** //EB - ELIGIBILITY OR BENEFIT INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(3)\\EB")); oSegment.set_DataElementValue(1,0,"1"); //Eligibility or Benefit Information oSegment.set_DataElementValue(3,0,1,"1"); //Service Type Code oSegment.set_DataElementValue(3,0,2,"33"); //Service Type Code oSegment.set_DataElementValue(3,0,3,"35"); //Service Type Code oSegment.set_DataElementValue(3,0,4,"47"); //Service Type Code oSegment.set_DataElementValue(3,0,5,"86"); //Service Type Code oSegment.set_DataElementValue(3,0,6,"88"); //Service Type Code oSegment.set_DataElementValue(3,0,7,"98"); //Service Type Code oSegment.set_DataElementValue(3,0,8,"AL"); //Service Type Code oSegment.set_DataElementValue(3,0,9,"MH"); //Service Type Code oSegment.set_DataElementValue(3,0,10,"UC"); //Service Type Code //************************************************************************************************************************ //EB - ELIGIBILITY OR BENEFIT INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(4)\\EB")); oSegment.set_DataElementValue(1,0,"B"); //Eligibility or Benefit Information oSegment.set_DataElementValue(3,0,"1"); //Service Type Code oSegment.set_DataElementValue(4,0,"HM"); //Insurance Type Code oSegment.set_DataElementValue(5,0,"GOLD 123 PLAN"); //Plan Coverage Description oSegment.set_DataElementValue(6,0,"27"); //Time Period Qualifier oSegment.set_DataElementValue(7,0,"10"); //Monetary Amount oSegment.set_DataElementValue(12,0,"Y"); //Yes/No Condition or Response Code //EB - ELIGIBILITY OR BENEFIT INFORMATION ediDataSegment.Set(ref oSegment, (ediDataSegment) oTransactionset.CreateDataSegment("HL(4)\\NM1\\EB(5)\\EB")); oSegment.set_DataElementValue(1,0,"B"); //Eligibility or Benefit Information oSegment.set_DataElementValue(3,0,"1"); //Service Type Code oSegment.set_DataElementValue(4,0,"HM"); //Insurance Type Code oSegment.set_DataElementValue(5,0,"GOLD 123 PLAN"); //Plan Coverage Description oSegment.set_DataElementValue(6,0,"27"); //Time Period Qualifier oSegment.set_DataElementValue(7,0,"30"); //Monetary Amount oSegment.set_DataElementValue(12,0,"N"); //Yes/No Condition or Response Code //TRAILING SEGMENTS ARE AUTOMATICALLY CREATED WHEN FREDI COMMITS (SAVES) //THE EDIDOC OBJECT INTO AN EDI FILE. oEdiDoc.Save("271_X279Response.txt"); //display edi object MessageBox.Show(oEdiDoc.GetEdiString(),"EDI 271 X279"); //DESTROYS OBJECTS oSegment.Dispose(); oTransactionset.Dispose(); oGroup.Dispose(); oInterchange.Dispose(); oSchema.Dispose(); oSchemas.Dispose(); oEdiDoc.Dispose(); }