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