Preheat oven to 350 degrees. Spray a 13 by 9-inch baking dish with non-stick cooking spray.
Melt butter in a large 12-inch non-stick skillet over medium high heat. Spread hash browns into an even layer in pan, season with salt and pepper. Let cook until golden brown on bottom about 6 - 8 minutes, then turn potatoes and continue to cook 3 minutes longer.
Pour hash browns into prepared baking dish, set aside.
Add eggs to a large mixing bowl. Break yolks and stir together with a fork until blended.
Stir in half and half, cheddar, Swiss, ham, green onions, parsley and season with salt and pepper to taste.
Pour mixture evenly over hash brown layer then spread out with a spatula to even out top as needed.
Bake in preheated oven until center is just set, about 40 - 50 minutes. Let cool about 5 minutes before slicing and serving.