Case management
A case is the unit of work in EEO. Everything — the intake report, the investigator notes, witness statements, the documentary evidence, the final outcome — attaches to a single case so the chain of custody travels together. This guide walks the full arc from intake to closure.
TL;DR — Open EEO → Cases. The Intake tab is where new reports queue. Pick one, click Triage, classify it, assign an investigator. Investigator works the case through Active, then moves it to Resolution to close. Every step writes to the case ledger so the audit trail is built as you work.
Before you start
- You need an EEO investigator or EEO admin role to triage or work a case.
- Cases involving you or your direct reports automatically appear as conflict-of-interest; you'll be blocked from assignment to yourself and asked to route to a peer or your director.
- For matters that allege wrongdoing by an HR / EEO staff member, the workspace's alternate intake path applies — see Common gotchas.
How cases enter the queue
| Field | What it does | Accepted values / default |
|---|---|---|
| Employee self-service | Worker filed a report from `/eeo/report-a-concern`. | Lands in **Intake** with the reporter's identity unless they chose anonymous. |
| Manager escalation | Manager forwarded a concern they received. | Lands in **Intake** with the manager attributed; the reporter is the named employee. |
| HR-opened | HR opened a case proactively (incident, climate-survey signal, audit finding). | Lands in **Intake** owned by the opener; you can assign elsewhere on triage. |
| External transfer | An EEOC charge or DFEH complaint inbound from the regulator. | Lands in **Intake** flagged **External** — see [EEOC charges](/eeo/eeoc-charges) for the response timeline. |
Triage a new case
Open EEO → Cases → Intake
The list is sorted oldest-first. Each row shows reporter (or "Anonymous"), opened-at, alleged conduct, and any priority flag.
Click "Triage"
A side panel opens with the original report. Read it once before classifying.
Classify the conduct
Pick the primary statutory category (discrimination, harassment, retaliation, accommodation refusal, leave interference) and any secondary categories. The classification drives retention floors, EEO-1 narrative, and which investigator pools you can assign to.
Set severity + jurisdiction
Severity (low / moderate / high / critical) determines the response SLA. Jurisdiction (federal + state + local) determines which agency's filing deadlines apply if the matter escalates.
Run the conflict check
The form pre-flights you against the named parties. If you, your spouse, or anyone in your reporting chain appears, the panel blocks self-assignment.
Assign or accept
Either assign the case to another investigator or take it yourself. The reporter's status flips from "Submitted" to "Under review" and they're notified through their preferred channel.
Work an active case
The case file has six tabs, each scoped to a phase of the investigation.
| Field | What it does | Accepted values / default |
|---|---|---|
| Summary | Parties, allegations, classification, severity, current owner. | The cover sheet auditors read first. |
| Timeline | Chronological ledger of every action taken on the case. | Tamper-evident. You cannot delete or edit a prior entry — only add a correction. |
| Tasks | Investigation tasks the owner assigns to themselves or peers. | Each task has a due date, an assignee, and a completion note. Open / Done / Blocked states. |
| Interviews | Witness + party statements with structured metadata. | Each interview captures interviewer, date, location, present parties, the statement, and a confidentiality marker. |
| Evidence | Documents, screenshots, audio, video — anything that supports a finding. | Every item carries the uploader, upload time, and a SHA-256 hash. Chain-of-custody is automatic. |
| Resolution | The final outcome, remedy, and closure rationale. | Locked from editing once the case is closed. |
Resolve a case
Confirm investigation is complete
Every task should be Done (or explicitly Blocked with a rationale). Outstanding interviews block resolution.
Open Resolution → "Reach a finding"
You're prompted to pick one of: substantiated, unsubstantiated, inconclusive, or withdrawn by reporter.
Document the rationale
Free-text, at least one paragraph. This is the language a regulator or judge reads if the case is later examined.
Record the remedy
For substantiated cases: corrective action against the respondent (handled through ELR discipline), remedy for the reporter (training, transfer, back-pay), and any workplace-level prevention step.
Notify parties
Both the reporter and the respondent are notified through the confidential-comms surface. The notification template excludes PHI and witness identities.
Close the case
Status flips to Closed. The case becomes read-only. Retention starts now and runs to the longest applicable floor.
Every field, explained
| Field | What it does | Accepted values / default |
|---|---|---|
| Reporter identity | The person who filed. | Stored even on anonymous reports (for retaliation-protection lookups), but masked from investigator view unless they unlock with a justification. |
| Respondent | The person (or org unit) the report is about. | Optional on intake — you can name them during triage if the report didn't. |
| Primary classification | Top-level statutory category. | Drives retention floors and reporting buckets. |
| Secondary classifications | Additional categories where the matter touches more than one statute. | A case can be both retaliation and disability-discrimination, for example. |
| Severity | How urgent the response must be. | Critical = response within 24h; high = 72h; moderate = 7d; low = 14d. |
| Jurisdiction | Which agency's filing deadlines apply if the matter escalates. | Federal + state (+ local where applicable). EEOC, DFEH, NYSDHR, etc. |
| Assigned investigator | The case owner. | Conflict-of-interest blocks attached parties from assignment. |
| Confidentiality marker | Restricts visibility further than the default need-to-know scope. | Use sparingly — overuse hampers cross-case pattern detection. |
| Litigation hold | Suspends all retention-based deletion on the case + linked evidence. | Set when external counsel requests preservation; lift only after the matter closes legally. |
Common gotchas
- "The reporter wants to withdraw." Document the withdrawal in the Resolution tab with the reporter's stated reason; do not delete the case. Withdrawal is its own finding, not a cleanup action — pattern detection still needs the row.
- "The respondent is an HR / EEO staff member." Use the workspace's alternate intake path (typically routes to outside counsel or the audit committee chair). Don't process it through the default queue — your own role's case access is a structural conflict.
- "I need a witness's previous statement from another case." Don't search across cases yourself. Request access from the other case's owner; the access request itself is recorded so the cross-case touchpoint is auditable.
- "The case is closed but I found new evidence." Open a reopen request in the Resolution tab. A second EEO admin reviews and approves; the reopen + new evidence are added with full ledger entries. Don't try to edit the closed file.
- "Counsel asked us to put a litigation hold on a case that's already closed." The Litigation hold toggle is available on closed cases too — flip it, document who requested the hold, retention-based deletion is suspended immediately.
Troubleshooting
| Error code | What it means | Fix |
|---|---|---|
CASE_CONFLICT_OF_INTEREST | The system detected you or a relative in the parties list. | Reassign to a peer or your director. |
CASE_TASK_OPEN_BLOCKS_RESOLUTION | At least one task is still Open. | Mark Done with a closing note, or mark Blocked with a documented reason. |
CASE_EVIDENCE_HASH_MISMATCH | An evidence file's hash changed since upload. | Re-upload from the original source; the existing item is flagged as suspect. |
CASE_REOPEN_REQUIRES_SECOND_APPROVAL | You tried to reopen your own closed case. | Request a peer EEO admin approve the reopen. |
CASE_RETENTION_HOLD_ACTIVE | You tried to delete a case still under a litigation hold. | Wait for the hold to lift, or escalate to counsel if the hold is stale. |
How this is recorded
Every meaningful step — triage, classification, assignment, evidence upload, interview, finding, remedy, closure, reopen — writes a row to the case ledger. The ledger is append-only, timestamped, and signed by the actor's session. Regulators reading the case file get a chronological narrative of due process without your team having to assemble one from email.
Related