This page is a meeting cheat sheet for billing managers. It lists the configuration choices your facility can make, the shipped default for each choice, and the review alert each choice produces. Use it to prepare an onboarding or tuning discussion.
You do not edit these settings yourself. Your facility configuration controls every item on this page. Contact your Hank representative to change a value. For the full explanation of each area, read the Facility Configuration Guide.
| Choice | Default |
|---|---|
| Add a review alert to every claim | Off. When on, every claim gets the HARDSTOP alert forced_review_facility_setting at severity 10. |
| Anesthesia practice type | Standard Direction |
Practice type archetypes:
| Choice | Options | Default |
|---|---|---|
| Medical direction | On, Off | On |
| Time allocation | Both full time, actual time, primary only | Both full time |
| Action when all TEFRA criteria are met | Normal billing, bill the physician with no modifiers | Normal billing |
| Action when TEFRA criteria are not met | Continue and raise an alert, drop to CRNA, drop to CRNA without the alert, drop to supervision (AD), keep the physician and raise a HARDSTOP alert | Continue and raise an alert |
| Separate action for AA-only cases | Same as above, or a different action | Same as above |
| Alert type and severity when TEFRA is not met | HARDSTOP, COMPLIANCE, FINANCIAL, INFORMATIONAL | COMPLIANCE, severity 8 |
| Attestation strictness | Strict, moderate, lenient | Moderate |
The autocoder checks eight TEFRA elements. It splits the CMS induction and emergence requirement into two elements. Each element is enforced by default:
You can disable each element for one facility. A disabled element reports as EXCLUDED in the TEFRA result. The autocoder runs the whole TEFRA evaluation only when medical direction is on.
Concurrency limits are not enforced. The configuration accepts maxConcurrentCases and actionWhenConcurrencyExceeded. No pipeline code reads them. The autocoder codes one case at a time, and it tracks no concurrency across cases. Track concurrency in your practice-management system. Two checks do run, each inside one claim:
meddir_exceeds_4_to_1, a HARDSTOP alert at severity 9. It fires when one claim carries more than four QK modifiers.concurrent_time_overlap, a FINANCIAL alert at severity 7. It fires when two time-billed procedures on the claim overlap.Billing scenarios also carry defaults. A physician directing a CRNA bills both providers with QK and QX. A physician with a resident bills the physician with the teaching modifier. A CRNA alone bills QZ. An AA alone raises a HARDSTOP alert.
| Scenario | Rule id | Default outcome | Alert |
|---|---|---|---|
| Ultrasound 76937 or 76942, storage not documented | ultrasound_76937_no_storage_documented, ultrasound_76942_no_storage_documented | Billed | COMPLIANCE, severity 7 |
| Ultrasound 76937 or 76942, documented as not stored | ultrasound_76937_explicitly_not_stored, ultrasound_76942_explicitly_not_stored | Not billed | FINANCIAL, severity 9 |
| TEE found only in the case event times | tee_from_events_only | Billed | COMPLIANCE, severity 5 |
| Procedures from a lines, drains, and airways note | lda_procedures | Not billed | INFORMATIONAL, severity 1 |
| Central line used as the introducer for a Swan-Ganz | same_stick_central_access | Bundled | none |
| The same procedure documented more than once | duplicate_procedures | Kept on the claim, alert only (an exact duplicate of an ancillary line is removed) | HARDSTOP, severity 5, alert id duplicate_anesthesia_line_items |
| Failed or aborted procedure | failed_procedures | Not billed | INFORMATIONAL, severity 4 |
| Items bundled by NCCI edits | claimcleaner_bundles | Removed | INFORMATIONAL, severity 3 |
| Nerve block billed inside anesthesia time | nerve_block_billed_as_time | Alert only | FINANCIAL, severity 5 |
| Neuraxial procedure without documented times | neuraxial_without_times | Alert only | INFORMATIONAL, severity 4 |
| Obstetric case | ob_case_review | Alert on every case | HARDSTOP, severity 2 |
| Cosmetic procedure that needs split billing | cosmetic_procedure_split_billing | Alert | HARDSTOP, severity 10 |
| No anesthesia CPT code on the claim | anes_no_cpt_code | Alert | HARDSTOP, severity 10 |
| Times taken from a source other than the case event times | anes_non_case_times_source | Alert | FINANCIAL, severity 3 |
| Date of service over one year old | anes_dos_age_warning | Alert | HARDSTOP, severity 10 |
| CPT code on the mandatory review list, currently 01999 | required_code_review | Alert | FINANCIAL, severity 8 |
| ASA physical status read from a handwritten note only | handwritten_asa_source | Alert | HARDSTOP, severity 6 |
| More diagnosis codes on a line than the limit | max_icd_per_line_item | Extra codes dropped, limit 4 | INFORMATIONAL, severity 1 |
Two more defaults sit in the same block. The preferred NCCI modifier is 59. Nerve block lines carry the G89 pain diagnosis only.
The autocoder adds 99100 for the age qualifier and 99140 for the emergency qualifier when the record supports them, and it raises no alert for either one. On Medicare-primary claims the shipped default moves 99100, 99116, 99135, and 99140 out of the billable lines and keeps them in the bundled procedures for documentation. The reason on each bundled entry names the payer class that bundles the code. Your facility configuration controls this per payer class through the qualifyingCircumstances.suppress map: it can turn the Medicare suppression off, or turn suppression on for another class that does not pay these codes (for example, some state Medicaid programs). Ask for this choice before your first production run, because the suppression is quiet. If you want a reviewer on every 99100 or every 99140, ask for the alert option in Section 4.9 of the Facility Configuration Guide.
The autocoder scores its confidence in each code. A code below the threshold gets a review alert.
| Code type | Default threshold |
|---|---|
| Anesthesia codes (00100-01999) | 85 percent |
| Surgical codes | 80 percent |
| Diagnosis codes | 80 percent |
| Modifiers | 80 percent |
Radiology component modifiers (componentModifiers) | 70 percent |
The threshold percentages are configurable. The severities of the low confidence alerts are not. The autocoder emits severity 7 for a low confidence CPT code or modifier, and severity 5 for a low confidence diagnosis code. The one configurable severity in this area is claimValidation.codeConfidence.severity.missingRequiredNote.
The keys claimValidation.codeConfidence.thresholds.procedureCodes.*, timeCodes.startTime, and timeCodes.endTime are dead. Nothing reads them. Do not plan around them.
Every alert carries a severity from 1 to 10. Severity states review priority only. The alert type states what kind of problem the autocoder found.
| Check | Default |
|---|---|
Low confidence alerts (lowConfidenceChecks) | On |
Anesthesia time validation (timeValidationChecks) | On |
Required note checks (requiredNoteChecks) | On |
Require a provider NPI (npiRequired) | Off |
Primary anesthesia line present (primaryAnesLineItem) | On, HARDSTOP severity 10 |
Primary diagnosis attested (primaryIcdAttested) | On, HARDSTOP severity 7 |
Physical status supported by the record (physicalStatusSupported) | On, FINANCIAL severity 5 |
Your facility configuration can also downgrade named alerts. A downgraded alert becomes INFORMATIONAL. It is not removed from the claim. Give your Hank representative the exact alert ids, because a broad pattern can downgrade an alert you want to keep.
Required note types start empty. Add the note types your facility guarantees, for example Pre-Op, Intra-Op, Post-Op, staff times, case events, or the surgeon note.
| Required field | Default | Alert if still missing |
|---|---|---|
| Patient name, first and last | Required | HARDSTOP, severity 8 |
| Patient date of birth | Required | HARDSTOP, severity 8 |
| Patient MRN | Required | FINANCIAL, severity 6 |
| Insurance information | Required | HARDSTOP, severity 7 |
| Date of service | Required | HARDSTOP, severity 10 |
| At least one line item | Required | HARDSTOP, severity 10 |
| Surgeon name | Required | HARDSTOP, severity 8 |
| Provider name on each line | Required | HARDSTOP, severity 8 |
| Provider role on each line | Required | HARDSTOP, severity 6 |
| Provider title on each line | Required | HARDSTOP, severity 5 |
| Provider NPI on each line | Not required | none |
| Surgeon NPI | Not required | none |
The autocoder first tries to recover a missing patient name, date of birth, MRN, insurance, date of service, or surgeon name from the record. The alert fires only when the field is still missing.
Give a roster for each provider group you bill: physicians, CRNAs and AAs, and surgeons or referring providers. A provider who is not in the roster gets a blank NPI field on the claim.
| Choice | Default |
|---|---|
Add ASA physical status modifiers automatically (asa_p_modifier_control) | On |
Discontinuous time handling (discontinuous_times) | Combine the gap into the first segment |
Gap that counts as a break in one anesthesia code (segmentGapToleranceMinutes) | 5 minutes |
Handwritten page sensitivity (handwrittenRatioCutoff) | 2 percent of the packet |
| Maximum diagnosis codes per line | 4 |
| Choice | Default | Notes |
|---|---|---|
Send page images with the coding request (imageAugmentedCoding) | Off, text only | Turn this on for paper or printed checkbox anesthesia forms, for example Graphium anesthesia records and Out-of-OR visit forms. The text layer of such a form holds the printed option labels and does not show which box the provider ticked, so the autocoder can code an untouched option as a service. With the images attached, an unticked "Labor Epid to C-Section" box no longer produces 01968 and 59514, and an empty "A-Line" row no longer produces 36620. The image goes with the text and never replaces it. The autocoder sends a maximum of 10 page images for each request and removes duplicate pages. Measured cost stays the same on packets of 4 to 15 pages. |
An acute pain service round is a visit on a day after surgery. Facilities usually send the comprehensive record, which also holds the surgery documentation. The autocoder detects the round from the note types and the wording. It then codes the round, not the surgery.
| Choice | Default | Notes |
|---|---|---|
Detect and code pain rounds (postOpPainRounds.enabled) | On | Outcomes are 01996 for a managed epidural or subarachnoid catheter, a subsequent care visit code 99231-99233 for a peripheral nerve catheter or a single-dose neuraxial opioid, or nothing billable when the record supports no separate service. Turn the lane off only with care. With the lane off, a round packet codes the already billed surgery again. |
Review gate on pain-round claims (postOpPainRounds.reviewGate) | On (scope detected) | Every claim from a packet with detected round content gets the HARDSTOP alert postop_pain_rounds_review_gate and waits for a coder. This includes normally coded claims. Severity is 1 to 10 and defaults to 7. Turn the gate off to release these claims automatically. Set the scope to coded to hold only the claims the rounds lane coded. |
| Mixed pain-round signals | Always alerted | The autocoder codes normally and adds the HARDSTOP alert postop_pain_round_ambiguous. This alert is not configurable. |
These choices apply to facilities on the E/M specialty: office and outpatient visits 99202-99215, hospital inpatient and observation visits 99221-99239, and emergency department visits 99281-99285. A deterministic engine assigns the visit level from the documented decision making and the total time.
| Choice | Default | Notes |
|---|---|---|
Qualifying encounter note required (qualifyingEncounterNotes) | Refuse when absent | The shipped qualifying types are the office visit note, the history and physical note, the progress note, and the emergency medicine summary. A packet with none of these gets the HARDSTOP alert eandm_qualifying_note_refusal and no codes. A facility override replaces the whole list. |
Modifier 25 posture (emPolicy.mod25Aggressiveness) | Conservative | Conservative never adds modifier 25 by itself. Standard adds it on same-day procedures. Either posture raises the alert eandm_mod25_same_day_procedure on a same-day visit plus procedure. |
| Incident-to election, preventive split posture, G2211 policy, payer ruleset map | Off or conservative | Reserved for a later release. A non-default value raises the alert eandm_policy_election_not_implemented and does not change billing yet. |
| Choice | Default | Notes |
|---|---|---|
Code interventional radiology procedures (irCoding.enabled) | On | The autocoder codes procedure-flavored packets as interventional radiology. Incomplete interventional documentation raises review alerts. With the choice off, the autocoder codes the notes through the diagnostic radiology group. Any CPT code outside 70000-79999 then raises the COMPLIANCE alert radiology_ir_not_supported at severity 8 for human review. No case is skipped silently. Diagnostic reads are the same either way. |
| Type | What it means |
|---|---|
| HARDSTOP | Something is missing or conflicting that would cause a payer rejection or denial. |
| COMPLIANCE | A regulatory or compliance concern. |
| FINANCIAL | A possible revenue impact: a missed charge, or a charge the record may not support. |
| INFORMATIONAL | Something noteworthy. No action is required. |
| OTHER | An internal system event, for example an external service failure. |
| Setting | Standard Direction | Teaching Hospital | CRNA Independent | MD Only |
|---|---|---|---|---|
| Medical direction | On | On | On, non-directed | On |
| Physician plus CRNA | Both, QK and QX | Both, QK and QX | CRNA only, QZ | HARDSTOP alert |
| CRNA alone | QZ | HARDSTOP alert | QZ | HARDSTOP alert |
| Required notes | Pre-Op | Pre-Op, Intra-Op, Post-Op | None | None |
| Primary provider | Most time | Most time | Most time | Most time |
| All other settings | Base defaults | Base defaults | Base defaults | Base defaults |
| Decision | Default | Notes |
|---|---|---|
| Send payer + facility context to the validation service? | No | Opt-in. When enabled, the payer name and your declared facility location (ZIP/state/county) ride with each claim so coverage checks resolve the correct Medicare contractor. Declaring a commercial/medicaid program changes which automatic corrections apply. Pilot with your coding team first. Full detail: Facility Configuration Guide, Section 17. |
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.