Wash, peel, and slice the potatoes into thin, 1/8" thick slices. Heat the olive oil in a large oven-safe skillet over medium heat. Once the skillet is hot, add the potatoes and season with salt and pepper.
Cook the potatoes for about 10 minutes, stirring only occasionally so that the bottom layer has a chance to brown. Preheat the oven to 400 degrees.
While the potatoes are cooking, slice both the green and white ends of the green onions. Add the white ends to the skillet with the potatoes as they cook. Also roughly chop the deli ham and add it to the skillet as the potatoes cook.
In a large bowl, whisk together the eggs, milk, and parmesan cheese. Once the mixture is fairly smooth, stir in the remainder of the sliced green onions (the green ends).
Once the potatoes are tender, but not falling apart (about 10 minutes of cooking), pour the egg mixture into the skillet, making sure to cover all areas. Continue to cook the mixture in the skillet without stirring for 1-2 minutes, or until the edges are set.
Transfer the skillet to the oven and continue cooking for about 20 minutes, or until the egg has puffed up and eggs are set (firm, but still moist). The center of the skillet will firm up last, so test the center for doneness. Allow the frittata to sit for five minutes before slicing and serving.
The cooking time in the oven will depend on several factors including the thickness/size of your skillet and how cooked the eggs were prior to transferring the skillet to the oven. Keep an eye on it and start checking for doneness at 15 minutes.