HANK CODES codes office and outpatient E/M visits in the 99202-99215 family. The autocoder reads the visit note and extracts the evidence that decides the level. A deterministic engine then computes the level from that evidence. The autocoder never uses AI judgment to pick a level.
The autocoder pulls four things from the visit note:
Every determination must carry a verbatim quote from the note, and the autocoder checks each quote against the chart text. A determination with no verifiable quote is dropped from leveling, and the E/M Evidence Excluded - Missing Verbatim Citation alert fires. A dropped element can make the level lower than the documentation supports, so check that alert against the note.
The engine uses the standard two paths and takes the higher supportable level:
When the two paths support different levels, the autocoder raises MDM and Time Support Different Levels. When one element bin or one documented minute would change the answer, it raises E/M Level Sits at a Decision Boundary. When the level rests on documented time alone, it raises E/M Level Rests Solely on Documented Time.
The engine also refuses to guess. If fewer than two decision making elements are determinable and no usable total time exists, no E/M line is built and the No E/M Level Supportable From Documentation alert lists the reasons. The autocoder never assigns 99211 on its own, because 99211 has no decision making or time basis.
Each level ships with a leveling audit record. It holds the evidence, the quotes, the path used, and the code table year, so you can defend the level.
The autocoder selects the new patient family (99202-99205) or the established patient family (99211-99215) from evidence in the note. A documented prior visit with the same specialty in the same group practice within the previous 3 years indicates an established patient. A "new patient" or "establish care" header counts as evidence of a new patient. When the status cannot be derived, the engine reports no supportable level rather than choosing one.
Office E/M coding needs a visit note. By default the autocoder accepts an office visit note, a history and physical note, or a progress note. If the chart carries none of these, the autocoder refuses the request instead of guessing. It returns an empty claim, records the refusal reason and the note types it found, and raises the E/M Coding Request Refused - No Qualifying Encounter Note alert. Your facility configuration controls the accepted list through qualifyingEncounterNotes.anyOf. Contact your Hank representative to change it.
When the note documents a procedure at the same encounter, the autocoder raises Same-Day Procedure Alongside E/M Visit (Modifier 25 Review). A procedure with an explicitly documented CPT becomes its own line. A procedure without a documented CPT appears in the alert text only. The autocoder suppresses nothing on its own. By default it never appends modifier 25; the emPolicy.mod25Aggressiveness setting controls that, and your Hank representative can change it.
Prolonged service codes are not produced in this version. When documented time reaches prolonged territory, the Prolonged-Service Time Documented But Not Billed alert asks your coding lead to review it.
What happens next depends on how your organization consumes HANK CODES. In HANK Claim Maker, a HARDSTOP alert places the claim in the review queue your administrators configured for it. Organizations that consume the coding API directly decide in their own workflow which alerts pause a claim, who reviews them, and when a claim is released.
For the full list of E/M alerts, their types, and their default severities, read the E/M Alert Reference.