public override void SetUpDefinition(){ SetUpChildDefinitions=true; RepitionLimit = 1; SegmentDefinitions.Add(new NM1(){ OwningLoopCollection = this, IsLoopStarter=true, SegmentDefinitionName = "InformationReceiverName", SegmentQualifierValues = new List<SegmentQualifiers>(){ new SegmentQualifiers(1,"41")}, SyntaxRules = new List<string>(){ "P0809","C1110","C1203" }, FieldUsage = new List<FieldUsageTypeNames>(){ FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); }
internal override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 1; SegmentDefinitions.Add(new TRN() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "ProviderOfServiceTraceIdentifier", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "1") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new STC() { OwningLoopCollection = this, SegmentDefinitionName = "ProviderStatusInformation", FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); }
public override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 999; SegmentDefinitions.Add(new HL() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "DependentLevel", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "23") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new DMG() { OwningLoopCollection = this, SegmentDefinitionName = "DependentDemographicInformation", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "D8") }, SyntaxRules = new List <string>() { "P0102", "P1011", "C1105" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); }
public void LoadFile(TextReader reader) { this.CurrentSeperators = new Seperators(); char[] charData = new char[105]; int count = reader.Read(charData, 0, 105); if (count != 105) { throw new Exception("File is not long enough"); } string isaString = new String(charData); if (isaString.Substring(0, 3) != "ISA") { throw new Exception("This File does not start with an ISA Segment"); } CurrentSeperators.DataElement = isaString[3]; string[] isaFields = isaString.Split(CurrentSeperators.DataElement); CurrentSeperators.ComponentDataElement = isaFields[16].First(); CurrentSeperators.Repetition = isaFields[11] == "U" ? '~' : isaFields[11].First(); this.CurrentSeperators.Segment = (char)reader.Read(); this.InterchangeHeader = ParseUsingPosition(typeof(ISA_Segment), isaFields) as ISA_Segment; string[] segments = reader.ReadToEnd().Split(this.CurrentSeperators.Segment); foreach (string segment in segments) { string[] fields = segment.Trim(new char[] { '\r', '\n', ' ' }).Split(CurrentSeperators.DataElement); Type tp; if (SegmentDefinitions.TryGetValue(fields[0], out tp)) { SegmentBase segmentbase = ParseUsingPosition(tp, fields); switch (segmentbase.SegmentID) { case "IEA": this.InterchangeFooter = segmentbase as IEA_Segment; break; case "GS": this.Groups.Add(new Group(this)); this.Groups.Last().AddSegment(segmentbase); break; default: this.Groups.Last().AddSegment(segmentbase); break; } } } }
public override void SetUpDefinition(){ SetUpChildDefinitions=true; RepitionLimit = 999; SegmentDefinitions.Add(new HL(){ OwningLoopCollection = this, IsLoopStarter=true, SegmentDefinitionName = "InformationReceiverLevel", SegmentQualifierValues = new List<SegmentQualifiers>(){ new SegmentQualifiers(1,"21")}, FieldUsage = new List<FieldUsageTypeNames>(){ FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Required }); }
public override void SetUpDefinition(){ SetUpChildDefinitions=true; RepitionLimit = 999; SegmentDefinitions.Add(new HL(){ OwningLoopCollection = this, IsLoopStarter=true, SegmentDefinitionName = "DependentLevel", SegmentQualifierValues = new List<SegmentQualifiers>(){ new SegmentQualifiers(1,"23")}, FieldUsage = new List<FieldUsageTypeNames>(){ FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); }
internal override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 999; SegmentDefinitions.Add(new HL() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "ServiceProviderLevel", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(3, "19") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Optional }); }
public override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 999; SegmentDefinitions.Add(new SVC() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "ServiceLineInformation", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "AD", "ER", "HC", "HP", "IV", "N4", "NU", "WK") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "ServiceLineItemIdentification", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "FJ") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new DTP() { OwningLoopCollection = this, SegmentDefinitionName = "ServiceLineDate", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "472") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Required }); SegmentDefinitions.Add(new TABLE() { OwningLoopCollection = this, SegmentDefinitionName = "TransactionSetTrailer", FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Required }); }
public override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 999; SegmentDefinitions.Add(new TRN() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "ClaimStatusTrackingNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "1") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PayerClaimControlNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "1K") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "InstitutionalBillTypeIdentification", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "BLT") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "ApplicationOrLocationSystemIdentifier", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "LU") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "GroupNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "6P") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PatientControlNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "EJ") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PharmacyPrescriptionNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "XZ") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimIdentificationNumberForClearinghousesAnd", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "D9") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new AMT() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimSubmittedCharges", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "T3") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new DTP() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimServiceDate", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "472") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Optional }); }
private void ReadSegmentDefinitions() { StreamReader sr = new StreamReader(@"Content/map/maps.zdx"); string line = ""; int n; int currentTexture = 0; int currentDefinition = -1; Rectangle rect = new Rectangle(); string[] split; // Skip the first line line = sr.ReadLine(); // #src n // name // left top right bottom // flags while (!sr.EndOfStream) { line = sr.ReadLine(); // #src n if (line.StartsWith("#")) { if (line.StartsWith("#src")) { split = line.Split(' '); if (split.Length > 1) { n = Convert.ToInt32(split[1]); currentTexture = n - 1; } } } else { currentDefinition++; string name = line; line = sr.ReadLine(); split = line.Split(' '); if (split.Length > 3) { rect.X = Convert.ToInt32(split[0]); rect.Y = Convert.ToInt32(split[1]); rect.Width = Convert.ToInt32(split[2]) - rect.X; rect.Height = Convert.ToInt32(split[3]) - rect.Y; } else { Console.WriteLine("Read failed: " + name); } int texture = currentTexture; line = sr.ReadLine(); int flags = Convert.ToInt32(line); SegmentDefinitions.Add(new SegmentDefinition(name, texture, rect, flags)); } } }
internal override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 999; SegmentDefinitions.Add(new TRN() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "ClaimStatusTrackingNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "2") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); SegmentDefinitions.Add(new STC() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimLevelStatusInformation", FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PayerClaimControlNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "1K") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "InstitutionalBillTypeIdentification", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "BLT") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PatientControlNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "EJ") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "PharmacyPrescriptionNumber", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "XZ") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "VoucherIdentifier", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "VV") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new REF() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimIdentificationNumberForClearinghousesAnd", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "D9") }, SyntaxRules = new List <string>() { "R0203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); SegmentDefinitions.Add(new DTP() { OwningLoopCollection = this, SegmentDefinitionName = "ClaimServiceDate", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "472") }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, }, SegmentUsage = SegmentUsageTypeNames.Optional }); }
internal override void SetUpDefinition() { SetUpChildDefinitions = true; RepitionLimit = 1; SegmentDefinitions.Add(new NM1() { OwningLoopCollection = this, IsLoopStarter = true, SegmentDefinitionName = "PayerName", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "PR") }, SyntaxRules = new List <string>() { "P0809", "C1110", "C1203" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Required }); SegmentDefinitions.Add(new PER() { OwningLoopCollection = this, SegmentDefinitionName = "PayerContactInformation", SegmentQualifierValues = new List <SegmentQualifiers>() { new SegmentQualifiers(1, "IC") }, SyntaxRules = new List <string>() { "P0304", "P0506", "P0708" }, FieldUsage = new List <FieldUsageTypeNames>() { FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Mandatory, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.Optional, FieldUsageTypeNames.UnUsed, }, SegmentUsage = SegmentUsageTypeNames.Optional }); }