private void cmdTranslate_Click(object sender, System.EventArgs e) { // This is just an example to show how to translate a HIPAA 837 4010 X098 EDI X12 file in C# // with the Framework EDI component ediDocument oEdiDoc = null; ediSchemas oSchemas = null; ediDataSegment oSegment = null; ediDataElements oElements = null; ediDataElement oElement = null; ediDataElement oCompositeElement = null; ediDataElements oSubElements = null; string sSegmentID; string sLoopSection; int nArea; string sValue; string sPath; string sHlEntity = ""; string sNm1Entity = ""; string sQlfr; //application path sPath = AppDomain.CurrentDomain.BaseDirectory; //CREATES EDIDOC 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 TRANSLATE THE EDI FILE. ediSchemas.Set(ref oSchemas,(ediSchemas) oEdiDoc.GetSchemas()); //oSchemas = (ediSchemas) oEdiDoc.GetSchemas(); oSchemas.EnableStandardReference = false; //THIS OPTIONS STOPS FREDI FROM KEEPING ALL THE SEGMENTS IN MEMORY oEdiDoc.CursorType = DocumentCursorTypeConstants.Cursor_ForwardOnly; //LOADS THE SEF FILE oEdiDoc.ImportSchema(sPath + "837_X098.SEF", 0); //LOADS THE EDI FILE oEdiDoc.LoadEdi(sPath + txtEdifile.Text ); //GETS THE FIRST DATA SEGMENT ediDataSegment.Set(ref oSegment, (ediDataSegment) oEdiDoc.FirstDataSegment); //oSegment = (ediDataSegment) oEdiDoc.FirstDataSegment //LOOP THAT WILL TRAVERSE THRU EDI FILE FROM TOP TO BOTTOM while ( oSegment != null ) { //DATA SEGMENTS WILL BE IDENTIFIED BY THEIR ID, THE LOOP SECTION AND AREA //(OR TABLE) NUMBER THAT THEY ARE IN. sSegmentID = oSegment.ID; sLoopSection = oSegment.LoopSection; nArea = oSegment.Area; if (nArea == 0) { if (sLoopSection == "") { if (sSegmentID == "ISA") { sValue = oSegment.get_DataElementValue(1,0); //Authorization Information Qualifier sValue = oSegment.get_DataElementValue(2,0); //Authorization Information sValue = oSegment.get_DataElementValue(3,0); //Security Information Qualifier sValue = oSegment.get_DataElementValue(4,0); //Security Information sValue = oSegment.get_DataElementValue(5,0); //Interchange ID Qualifier sValue = oSegment.get_DataElementValue(6,0); //Interchange Sender ID listBox1.Items.Add(oSegment.get_DataElement(6).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(7,0); //Interchange ID Qualifier sValue = oSegment.get_DataElementValue(8,0); //Interchange Receiver ID listBox1.Items.Add(oSegment.get_DataElement(8).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(9,0); //Interchange Date sValue = oSegment.get_DataElementValue(10,0); //Interchange Time sValue = oSegment.get_DataElementValue(11,0); //Interchange Control Standards Identifier sValue = oSegment.get_DataElementValue(12,0); //Interchange Control Version Number sValue = oSegment.get_DataElementValue(13,0); //Interchange Control Number listBox1.Items.Add(oSegment.get_DataElement(13).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(14,0); //Acknowledgment Requested sValue = oSegment.get_DataElementValue(15,0); //Usage Indicator sValue = oSegment.get_DataElementValue(16,0); //Component Element Separator } else if (sSegmentID == "GS") { sValue = oSegment.get_DataElementValue(1,0); //Functional Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Application Sender's Code sValue = oSegment.get_DataElementValue(3,0); //Application Receiver's Code sValue = oSegment.get_DataElementValue(4,0); //Date sValue = oSegment.get_DataElementValue(5,0); //Time sValue = oSegment.get_DataElementValue(6,0); //Group Control Number listBox1.Items.Add(oSegment.get_DataElement(6).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(7,0); //Responsible Agency Code sValue = oSegment.get_DataElementValue(8,0); //Version / Release / Industry Identifier Code } //sSegmentID } //sLoopSection } else if (nArea == 1) { if (sLoopSection == "") { if (sSegmentID == "ST") { sValue = oSegment.get_DataElementValue(1,0); //Transaction Set Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Transaction Set Control Number } else if (sSegmentID == "BHT") { sValue = oSegment.get_DataElementValue(1,0); //Hierarchical Structure Code sValue = oSegment.get_DataElementValue(2,0); //Transaction Set Purpose Code sValue = oSegment.get_DataElementValue(3,0); //Reference Identification listBox1.Items.Add(oSegment.get_DataElement(3).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Date listBox1.Items.Add(oSegment.get_DataElement(4).Description + " = " + sValue); sValue = oSegment.get_DataElementValue(5,0); //Time sValue = oSegment.get_DataElementValue(6,0); //Transaction Type Code } else if (sSegmentID == "REF") { sValue = oSegment.get_DataElementValue(1,0); //Reference Identification Qualifier sValue = oSegment.get_DataElementValue(2,0); //Reference Identification } //Segment ID } else if (sLoopSection == "NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "41") //SUBMITTER { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Submitter) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "PER") { sValue = oSegment.get_DataElementValue(1,0); //Contact Function Code sValue = oSegment.get_DataElementValue(2,0); //Name sValue = oSegment.get_DataElementValue(3,0); //Communication Number Qualifier sValue = oSegment.get_DataElementValue(4,0); //Communication Number sValue = oSegment.get_DataElementValue(5,0); //Communication Number Qualifier sValue = oSegment.get_DataElementValue(6,0); //Communication Number } //sSegmentID } else if (sNm1Entity == "40") //RECEIVER { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Receiver) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } } } //sLoopSection } else if (nArea == 2) { if (sLoopSection == "") { } else if (sLoopSection == "HL" & sSegmentID == "HL") { sHlEntity = oSegment.get_DataElementValue(3,0); } //sLoopSection if (sHlEntity == "20") //BILLING PROVIDER { if (sLoopSection == "HL") { } else if (sLoopSection == "HL;NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "85") //BILLING PROVIDER NAME { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Billing Provider) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } } } } // **** SUBSCRIBER HIERARCHICAL LEVEL **** else if (sHlEntity == "22") //SUBSCRIBER { if (sLoopSection == "HL") { if (sSegmentID == "HL") { sValue = oSegment.get_DataElementValue(1,0); //Hierarchical ID Number sValue = oSegment.get_DataElementValue(2,0); //Hierarchical Parent ID Number sValue = oSegment.get_DataElementValue(3,0); //Hierarchical Level Code sValue = oSegment.get_DataElementValue(4,0); //Hierarchical Child Code } //Segment ID } else if (sLoopSection == "HL;NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "IL") //SUBSCRIBER NAME { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Subscriber) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } else if (sSegmentID == "DMG") { sValue = oSegment.get_DataElementValue(1,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period sValue = oSegment.get_DataElementValue(3,0); //Gender Code } //Segment ID } else if (sNm1Entity == "PR") //PAYER NAME { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Payer) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } } //sNm1Entity } else if (sLoopSection == "HL;CLM") { if (sSegmentID == "CLM") { sValue = oSegment.get_DataElementValue(1,0); //Claim Submitter's Identifier sValue = oSegment.get_DataElementValue(2,0); //Monetary Amount listBox1.Items.Add(oSegment.get_DataElement(2).Description + " (Subscriber Claim) = " + sValue); sValue = oSegment.get_DataElementValue(3,0); //Claim Filing Indicator Code sValue = oSegment.get_DataElementValue(4,0); //Non-Institutional Claim Type Code sValue = oSegment.get_DataElementValue(5,1); //Facility Code Value sValue = oSegment.get_DataElementValue(5,2); //Facility Code Qualifier sValue = oSegment.get_DataElementValue(5,3); //Claim Frequency Type Code sValue = oSegment.get_DataElementValue(6,0); //Yes/No Condition or Response Code sValue = oSegment.get_DataElementValue(7,0); //Provider Accept Assignment Code sValue = oSegment.get_DataElementValue(8,0); //Yes/No Condition or Response Code sValue = oSegment.get_DataElementValue(9,0); //Release of Information Code sValue = oSegment.get_DataElementValue(10,0); //Patient Signature Source Code } else if (sSegmentID == "DTP") { sQlfr = oSegment.get_DataElementValue(1,0); if (sQlfr == "938") //ORDER { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period } else if (sQlfr == "454") //INITIAL TREATMENT { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period } else if (sQlfr == "431") //Onset of Current Symptoms or Illness { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Subscriber's Onset of Current Symptoms Date) = " + sValue); } } else if (sSegmentID == "REF") { sValue = oSegment.get_DataElementValue(1,0); //Reference Identification Qualifier sValue = oSegment.get_DataElementValue(2,0); //Reference Identification } else if (sSegmentID == "HI") { sValue = oSegment.get_DataElementValue(1,1); //Code List Qualifier Code sValue = oSegment.get_DataElementValue(1,2); //Industry Code sValue = oSegment.get_DataElementValue(1,3); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(1,4); //Date Time Period sValue = oSegment.get_DataElementValue(1,5); //Monetary Amount sValue = oSegment.get_DataElementValue(1,6); //Quantity sValue = oSegment.get_DataElementValue(1,7); //Version Identifier sValue = oSegment.get_DataElementValue(2,1); //Code List Qualifier Code sValue = oSegment.get_DataElementValue(2,2); //Industry Code sValue = oSegment.get_DataElementValue(2,3); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(2,4); //Date Time Period sValue = oSegment.get_DataElementValue(2,5); //Monetary Amount sValue = oSegment.get_DataElementValue(2,6); //Quantity sValue = oSegment.get_DataElementValue(2,7); //Version Identifier } //Segment ID } else if (sLoopSection == "HL;CLM;NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "82") //RENDERING PROVIDER NAME { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Subscriber's Rendering Provider)= " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "PRV") { sValue = oSegment.get_DataElementValue(1,0); //Provider Code sValue = oSegment.get_DataElementValue(2,0); //Reference Identification Qualifier sValue = oSegment.get_DataElementValue(3,0); //Reference Identification } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } //Segment ID } else if (sNm1Entity == "77") //SERVICE LOCATION { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Subscriber's Service Location) = " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } //Segment ID } } else if (sLoopSection == "HL;CLM;LX") { if (sSegmentID == "LX") { sValue = oSegment.get_DataElementValue(1,0); //Assigned Number } else if (sSegmentID == "SV1") { oElements = oSegment.DataElements; sValue = oSegment.get_DataElementValue(1,1); //Product/Service ID Qualifier sValue = oSegment.get_DataElementValue(1,2); //Product/Service ID oCompositeElement = oElements.get_DataElement(1); oSubElements = oCompositeElement.DataElements; oElement = oSubElements.get_DataElement(2); listBox1.Items.Add(oElement.Description + " (Subscriber's Service Line) = " + sValue ); sValue = oSegment.get_DataElementValue(1,3); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,4); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,5); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,6); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,7); //Description oElement = oSubElements.get_DataElement(7); listBox1.Items.Add(oElement.Description + " (Subscriber's Service Line) = " + sValue ); sValue = oSegment.get_DataElementValue(2,0); //Monetary Amount listBox1.Items.Add(oElements.get_DataElement(2).Description + " (Subscriber's Service Line) = " + sValue ); sValue = oSegment.get_DataElementValue(3,0); //Unit or Basis for Measurement Code sValue = oSegment.get_DataElementValue(4,0); //Quantity sValue = oSegment.get_DataElementValue(5,0); //Facility Code Value sValue = oSegment.get_DataElementValue(6,0); //Service Type Code sValue = oSegment.get_DataElementValue(7,1); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,2); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,3); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,4); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(8,0); //Monetary Amount sValue = oSegment.get_DataElementValue(9,0); //Yes/No Condition or Response Code } else if (sSegmentID == "DTP") { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period } //sSegmentID } //sLoopSection } //sHlEntity // **** PATIENT HIERARCHICAL LEVEL **** else if (sHlEntity == "23") //DEPENDENT { if (sLoopSection == "HL") { if (sSegmentID == "HL") { sValue = oSegment.get_DataElementValue(1,0); //Hierarchical ID Number sValue = oSegment.get_DataElementValue(2,0); //Hierarchical Parent ID Number sValue = oSegment.get_DataElementValue(3,0); //Hierarchical Level Code sValue = oSegment.get_DataElementValue(4,0); //Hierarchical Child Code } else if (sSegmentID == "PAT") { sValue = oSegment.get_DataElementValue(1,0); sValue = oSegment.get_DataElementValue(5,0); sValue = oSegment.get_DataElementValue(6,0); sValue = oSegment.get_DataElementValue(7,0); sValue = oSegment.get_DataElementValue(8,0); sValue = oSegment.get_DataElementValue(9,0); } //Segment ID } else if (sLoopSection == "HL;NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "QC") //PATIENT { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name listBox1.Items.Add(oSegment.get_DataElement(3).Description + " (Dependent Patient)= " + sValue); sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } else if (sSegmentID == "DMG") { sValue = oSegment.get_DataElementValue(1,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period sValue = oSegment.get_DataElementValue(3,0); //Gender Code } else if (sSegmentID == "REF") { sValue = oSegment.get_DataElementValue(1,0); sValue = oSegment.get_DataElementValue(1,0); } //Segment ID } //sNm1Entity } else if (sLoopSection == "HL;CLM") { if (sSegmentID == "CLM") { sValue = oSegment.get_DataElementValue(1,0); //Claim Submitter's Identifier sValue = oSegment.get_DataElementValue(2,0); //Monetary Amount listBox1.Items.Add(oSegment.get_DataElement(2).Description + " (Dependent Claim) = " + sValue); sValue = oSegment.get_DataElementValue(3,0); //Claim Filing Indicator Code sValue = oSegment.get_DataElementValue(4,0); //Non-Institutional Claim Type Code sValue = oSegment.get_DataElementValue(5,1); //Facility Code Value sValue = oSegment.get_DataElementValue(5,2); //Facility Code Qualifier sValue = oSegment.get_DataElementValue(5,3); //Claim Frequency Type Code sValue = oSegment.get_DataElementValue(6,0); //Yes/No Condition or Response Code sValue = oSegment.get_DataElementValue(7,0); //Provider Accept Assignment Code sValue = oSegment.get_DataElementValue(8,0); //Yes/No Condition or Response Code sValue = oSegment.get_DataElementValue(9,0); //Release of Information Code sValue = oSegment.get_DataElementValue(10,0); //Patient Signature Source Code } else if (sSegmentID == "DTP") { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period } else if (sSegmentID == "REF") { sValue = oSegment.get_DataElementValue(1,0); //Reference Identification Qualifier sValue = oSegment.get_DataElementValue(2,0); //Reference Identification } else if (sSegmentID == "HI") { sValue = oSegment.get_DataElementValue(1,1); //Code List Qualifier Code sValue = oSegment.get_DataElementValue(1,2); //Industry Code sValue = oSegment.get_DataElementValue(1,3); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(1,4); //Date Time Period sValue = oSegment.get_DataElementValue(1,5); //Monetary Amount sValue = oSegment.get_DataElementValue(1,6); //Quantity sValue = oSegment.get_DataElementValue(1,7); //Version Identifier sValue = oSegment.get_DataElementValue(2,1); //Code List Qualifier Code sValue = oSegment.get_DataElementValue(2,2); //Industry Code sValue = oSegment.get_DataElementValue(2,3); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(2,4); //Date Time Period sValue = oSegment.get_DataElementValue(2,5); //Monetary Amount sValue = oSegment.get_DataElementValue(2,6); //Quantity sValue = oSegment.get_DataElementValue(2,7); //Version Identifier } //Segment ID } else if (sLoopSection == "HL;CLM;NM1") { if (sSegmentID == "NM1") { sNm1Entity = oSegment.get_DataElementValue(1,0); } if (sNm1Entity == "82") //RENDERING PROVIDER NAME { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "PRV") { sValue = oSegment.get_DataElementValue(1,0); //Provider Code sValue = oSegment.get_DataElementValue(2,0); //Reference Identification Qualifier sValue = oSegment.get_DataElementValue(3,0); //Reference Identification } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } //Segment ID } else if (sNm1Entity == "77") //SERVICE LOCATION { if (sSegmentID == "NM1") { sValue = oSegment.get_DataElementValue(1,0); //Entity Identifier Code sValue = oSegment.get_DataElementValue(2,0); //Entity Type Qualifier sValue = oSegment.get_DataElementValue(3,0); //Name Last or Organization Name sValue = oSegment.get_DataElementValue(4,0); //Name First sValue = oSegment.get_DataElementValue(5,0); //Name Middle sValue = oSegment.get_DataElementValue(6,0); //Name Prefix sValue = oSegment.get_DataElementValue(7,0); //Name Suffix sValue = oSegment.get_DataElementValue(8,0); //Identification Code Qualifier sValue = oSegment.get_DataElementValue(9,0); //Identification Code } else if (sSegmentID == "N3") { sValue = oSegment.get_DataElementValue(1,0); //Address Information } else if (sSegmentID == "N4") { sValue = oSegment.get_DataElementValue(1,0); //City Name sValue = oSegment.get_DataElementValue(2,0); //State or Province Code sValue = oSegment.get_DataElementValue(3,0); //Postal Code } //Segment ID } } else if (sLoopSection == "HL;CLM;LX") { if (sSegmentID == "LX") { sValue = oSegment.get_DataElementValue(1,0); //Assigned Number } else if (sSegmentID == "SV1") { sValue = oSegment.get_DataElementValue(1,1); //Product/Service ID Qualifier sValue = oSegment.get_DataElementValue(1,2); //Product/Service ID sValue = oSegment.get_DataElementValue(1,3); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,4); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,5); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,6); //Procedure Modifier sValue = oSegment.get_DataElementValue(1,7); //Description sValue = oSegment.get_DataElementValue(2,0); //Monetary Amount sValue = oSegment.get_DataElementValue(3,0); //Unit or Basis for Measurement Code sValue = oSegment.get_DataElementValue(4,0); //Quantity sValue = oSegment.get_DataElementValue(5,0); //Facility Code Value sValue = oSegment.get_DataElementValue(6,0); //Service Type Code sValue = oSegment.get_DataElementValue(7,1); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,2); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,3); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(7,4); //Diagnosis Code Pointer sValue = oSegment.get_DataElementValue(8,0); //Monetary Amount sValue = oSegment.get_DataElementValue(9,0); //Yes/No Condition or Response Code } else if (sSegmentID == "DTP") { sValue = oSegment.get_DataElementValue(1,0); //Date/Time Qualifier sValue = oSegment.get_DataElementValue(2,0); //Date Time Period Format Qualifier sValue = oSegment.get_DataElementValue(3,0); //Date Time Period } //sSegmentID } //sLoopSection } //sHlEntity } //nArea //GETS THE NEXT DATA SEGMENT ediDataSegment.Set(ref oSegment, (ediDataSegment) oSegment.Next()); //oSegment = (ediDataSegment) oSegment.Next(); } //while MessageBox.Show("Done"); } }