The application process was very streamlined and Epic HR are very good about maintaining communication. There are three stages: Phone Interview, Online Skills Assessment, and On-Site Interview.
Phone Interview: The first part of the application process. Basically a ~30minute phone call with an Epic engineer talking about some of your previous experience, some code you've worked on and projects you've done, and interest in Epic.
Skills Assessment: ~3 hour online skills assessment in which your mathematical and programming skills are tested. The test is proctored digitally so that you may only use what you already know, and any code written (any language) must be from your head and not from API or online code examples. The programming, which is by far the hardest section (math was very SAT-like, straightforward), has 4 open ended programming assignments that must be completed. Several of the questions had to do with string manipulation. Very little data structures knowledge was needed to complete the assessment, though recursion was useful.
On-Site: Epic flies you out, dines you, and gives you a tour of the (incredible) campus. Most parts of the on-site interview are pretty stress-free, a lot of it involves speaking with various employees and engineers. Two "tests" of the interview include a 30 minute presentation of a previous project you've worked on to an engineer as well as answering some of his questions, as well as a short HR oriented talk.