Skip to main content

Work the EVV exceptions queue

Outcome

Every EVV exception is triaged within your SLA, the verification chain is restored where possible, and what cannot be fixed is documented with a reason note so the receivable side has the audit trail it needs.

Prerequisites

ScopeWhat it lets you do
evv.exception.readView the queue
evv.exception.writeTriage / resolve / waive
clinical.attendance.writeAdjust the underlying service event

The queue

/evv/exceptions. Filters:

FilterDefault
TypeAll
DateLast 7 days
MemberAll
ProviderAll
SourceAll
StatusOPEN, IN_PROGRESS

Common types:

ExceptionCauseTypical resolution
MISSING_CHECKOUTVisit started, never closedProvider closes from the app, or staff records check-out manually with reason.
GEOFENCE_MISSCheck-in or check-out outside facility geofenceVerify with provider; either correct member's address (if home-based service moved) or waive with reason.
MEMBER_MISMATCHMember ID at check-in does not match the scheduled visitConfirm the actual member; reassign the visit.
LATE_CHECKOUTCheck-out > N minutes after expected endConfirm with provider; if reasonable, waive with reason.
DUPLICATE_VISITSame provider checked into the same visit twiceResolve to one canonical visit; the duplicate is voided.
OUT_OF_HOURSCheck-in outside the member's authorized hoursVerify; either rebill against an emergency authorization or waive.

Triage flow

Steps

  1. Open /evv/exceptions. Sort by age descending. Take the top row.

  2. Click into the exception detail. The page shows:

    • The original visit with check-in / check-out / geofence outcome on a map.
    • The exception type and the system's narrative ("expected geofence 100m, observed 380m at check-in").
    • The provider's notes, if any.
    • Communication thread.
  3. Decide the action based on the row's narrative:

    NarrativeAction
    Provider documented the deviationResolve with reason; pick the reason from the dropdown (e.g. "member at family member's address"); save.
    Visit appears legitimate but data was lostManual override: enter the missing field (check-out timestamp, geofence override) with a reason.
    Visit is invalidVoid. The platform marks the visit VOIDED; no charge will be billed.
    Cannot determine without follow-upAdd a Communication entry, set followup date, leave status IN_PROGRESS.
  4. Confirm the receivable side. If the underlying visit had already generated a charge, voiding the visit also voids the charge. If the charge had already been claimed, the platform produces a void / replace EDI on the next claim build.

  5. Tag for source-system feedback if relevant. If a vendor's app keeps producing the same exception, tag the exception source-issue and the EVV-source admin will see it on the source's health page (see 4.3 — Manage EVV sources).

Bulk actions

The list page supports:

ActionEffect
Resolve with same reasonApply a single reason to many rows; useful when a known incident affected a batch.
ReassignMove all selected to a teammate's queue.
Export CSVAudited; useful for state-EVV reconciliation.

Validation

CheckExpected
Resolved row leaves the open queue immediatelyYes.
Audit log carries a row per resolution with reason and userYes — see 6.3 — Audit log lookup.
Voided visit's charge is cancelledYes; if claimed, a void/replace claim is built on the next pass.
Tagged exception appears on the source's health pageYes.

Troubleshooting

SymptomCauseFix
Resolution returns 409Visit was modified concurrentlyReload; re-confirm the underlying state before re-resolving.
Reason dropdown missing the reason you needReason set is configured per stateHave your tenant admin add the reason; it then appears for everyone.
Voided visit still appears in EXCEPTIONCache lag on the dashboardRefresh or wait 1 minute; the queue is real-time but the dashboard is daily.
Same exception keeps re-appearingThe source vendor keeps re-pushing the bad visitTag source-issue; the platform admin can suppress at the source.

Next

4.3 — Manage EVV sources