I started out with a phone interview with one of their current developers, who asked some standard HR questions as well as wanting to know about a project I had worked on in the past--we spent about half of the 30 minute call talking about the project. I was then given a skills assessment that had three distinct sections:
1. ACT-style section with 2 minutes to answer as many simple questions as you can
2. Standard coding section where you're given a few problems to solve. Note that Computer Science majors are asked to use a limited subset of the available languages, including C/C++, Java, JavaScript, but missing languages like Python.
3. A series of about twenty multiple-choice questions based on provided information about a made-up language to test your ability to synthesise new information.
I was offered an on-site interview in Madison, WI about a week after submitting the skills assessment. The on-site consisted of one case study, one semi-technical/semi-HR interview where we again talked about a project I had worked on in the past, and another HR wrap-up with my recruiter. The experience in general was pleasant, everyone is very friendly and you also have a chance to walk around the campus and grab lunch along with some other interviewees as well as another current developer.
A couple things to note about the on-site: guys, don't wear a suit or a jacket--you will stand out and not in a good way. Business casual is preferred, slacks and a dress shirt are fine. Also, keep in mind that even if you're not in an official interview, the person with whom you are interacting is likely giving feedback on you, including the dinner with an Epic employee on the night before the interview. It's nothing to necessarily worry about, but just be aware.