The interviewing process was completed in three stages, each of which was separated by roughly two weeks of time.
The first stage was a very informal phone interview with an Epic employee. There were no technical questions asked; this phone interview was basically just an opportunity to hear about the position and to tell them a little bit about your experiences and preferences.
After the phone interview I had to complete a proctored exam online. This was made up of three section: 4 programming example questions, 1 quick math section, and 1 programming knowledge section. The whole process took about 3 hours to complete, with the example programming questions presenting the most difficulty. Other people's accounts have been accurate about the types of questions asked on these exams.
The final stage was an on-site interview. Epic covered flights and all other travel expenses for a weekend out in Madison, WI. Don't be surprised when you see 10 or more people waiting in the lobby when you get to Verona for your interview. On my interview day there were somewhere between 25 and 35 people interviewing for positions. The whole process feels a lot like a cattle call with interviewers rounding you up one after another. My day was split up into several group information sessions/interview, two individual interviews (one for each position), a tour of campus, and another computer examination (for verbal skills and programming again). None of the interviews were particularly difficult, but be ready to demonstrate that you can perform the position you are applying for in a mock situation.
Received an offer a month after my on-site interview, after being told that I would hear back in one to two weeks.