public static void Main()
Console.WriteLine("DEA Number: " + Dea());
Console.WriteLine("NPI Number: " + Npi());
public static string Dea()
Random random = new Random();
char ch1 = (char)(97 + random.Next(0, 26));
char ch2 = (char)(97 + random.Next(0, 26));
int num1 = random.Next(1, 10);
int num2 = random.Next(1, 10);
int num3 = random.Next(1, 10);
int num4 = random.Next(1, 10);
int num5 = random.Next(1, 10);
int num6 = random.Next(1, 10);
string str = (num1 + num3 + num5 + (num2 + num4 + num6) * 2).ToString().Substring(1, 1);
return ch1.ToString().ToUpper() + ch2.ToString().ToUpper() + num1.ToString() + num2.ToString() + num3.ToString() + num4.ToString() + num5.ToString() + num6.ToString() + str;
public static string Npi()
Random random = new Random();
for (int index = 0; index < 9; ++index)
int num = random.Next(0, 9);
string str2 = str1.Substring(0, 9);
char[] charArray = ("80840" + str1 + "0").ToCharArray();
int[] numArray = new int[15];
for (int index = 0; index < 15; ++index)
numArray[index] = (int)charArray[index] - 48;
for (int index = 13; index >= 1; index -= 2)
numArray[index] = numArray[index] * 2;
str3 += numArray[index].ToString();
foreach (char ch in str3)
num1 += Convert.ToInt32((int)ch - 48);
for (int index = 12; index >= 0; index -= 2)
int num3 = num2 - num2 % 10 - num1;
return str2 + (num3 % 10).ToString();
return "NPI_RANDOM_ERROR";