public static string Validate(Clearinghouse clearhouse, Carrier carrier, Provider billProv, Clinic clinic, InsPlan insPlan, Patient subscriber, InsSub insSub) { StringBuilder strb = new StringBuilder(); X12Validate.ISA(clearhouse, strb); X12Validate.Carrier(carrier, strb); if (carrier.ElectID.Length < 2) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Electronic ID"); } if (billProv.SSN.Length != 9) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Prov TIN 9 digits"); } X12Validate.BillProv(billProv, strb); if (clinic == null) { X12Validate.PracticeAddress(strb); } else { X12Validate.Clinic(clinic, strb); } if (insSub.SubscriberID.Length < 2) { if (strb.Length != 0) { strb.Append(","); } strb.Append("SubscriberID"); } if (subscriber.Birthdate.Year < 1880) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Subscriber Birthdate"); } if (insPlan.GroupNum == "") { if (strb.Length != 0) { strb.Append(","); } strb.Append("Group Number"); } return(strb.ToString()); }
public static string Validate(Clearinghouse clearinghouseClin, Carrier carrier, Provider billProv, Clinic clinic, InsPlan insPlan, Patient subscriber, InsSub insSub, Patient patForRequest) { StringBuilder strb = new StringBuilder(); X12Validate.ISA(clearinghouseClin, strb); X12Validate.Carrier(carrier, strb); if (carrier.ElectID.Length < 2) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Electronic ID"); } if (billProv.SSN.Length != 9) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Prov TIN 9 digits"); } X12Validate.BillProv(billProv, strb); if (PrefC.GetBool(PrefName.UseBillingAddressOnClaims)) { X12Validate.BillingAddress(strb); } else if (clinic == null) { X12Validate.PracticeAddress(strb); } else { X12Validate.Clinic(clinic, strb); } if (insSub.SubscriberID.Length < 2) { if (strb.Length != 0) { strb.Append(","); } strb.Append("SubscriberID"); } if (subscriber.Birthdate.Year < 1880) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Subscriber Birthdate"); } if (patForRequest.PatNum != subscriber.PatNum) //Dependent validation. { if (patForRequest.Birthdate.Year < 1880) //Dependent level validation. { if (strb.Length != 0) { strb.Append(","); } strb.Append("Dependent Birthdate"); } } ElectID eID = ElectIDs.GetID(carrier.ElectID); //Medicaid uses the patient First/Last/DOB to get benefits, not group number, so skip this validation if this is medicaid bool isMedicaid = (eID != null && eID.IsMedicaid) || carrier.CarrierName.ToLower().Contains("medicaid"); if (!isMedicaid) { if (insPlan.GroupNum == "") { if (strb.Length != 0) { strb.Append(","); } strb.Append("Group Number"); } } //Darien at Dentalxchange helped us resolve one issue where the Group Number included a dash and was failing. //The fix suggested by Darien was to only include the numbers before the dash... See task #705773 if (IsClaimConnect(clearinghouseClin) && insPlan.GroupNum.Contains("-")) { if (strb.Length != 0) { strb.Append(","); } strb.Append("Group Number: Only include the group number prior to the '-'"); } return(strb.ToString()); }