Two modes. Per-case: countdown for every Workers’ Comp deadline that matters on the file — SOL, QME objection, IMR appeal, DOR response, reconsideration, PD payment initiation. Weekly overview: every deadline across the firm, split into EXPIRED / COMING / NEXT WEEK so the missed ones jump out first. Every output ends with VERIFY because malpractice exposure on deadlines is the worst kind.
At the prompt, per-case:
aaicase> deadlines on Doe
Or for the firm-wide weekly overview:
aaicase> what deadlines do I have this week
aaicase> upcoming deadlines
The case-specific output is a countdown table: every relevant statute with the computed date, days remaining, and a status badge. The weekly overview is three tables side by side: what already expired this week, what’s coming through Sunday, and what’s on next week’s calendar.
The skill picks the mode from what the attorney typed:
| Input | Mode | Output |
|---|---|---|
| deadlines on [case] — case name or ID present | Case-specific | Per-case countdown table for all eight+ deadline types |
| what deadlines this week, upcoming deadlines — no case named | Weekly overview | Three-section split (EXPIRED / COMING / NEXT WEEK) across all open cases |
The two modes share the same statute math but assemble different views — case-specific is “everything that matters on this file”; weekly is “everything across the firm in the next 14 days.”
| Deadline | Authority | Computation |
|---|---|---|
| 1-year SOL | LC 5405 | DOI + 1 year. Deadline to file Application for Adjudication. Marked SATISFIED if case has an ADJ number on the injury record. |
| 5-year SOL | LC 5410 | DOI + 5 years. Outer jurisdictional limit. All proceedings must conclude or a DOR must be on file by this date. |
| Discovery rule | LC 5412 | For CT injuries, the 1-year SOL runs from date of knowledge, not DOI. The skill flags every CT case explicitly — the auto-computed DOI+1 date is a placeholder; the real LC 5412 date is an attorney determination. |
For CT cases the 1-year line is shown with a VERIFY tag and a note: “CT case — 1-year SOL may not run from DOI. Determine LC 5412 date.” The CT flag carries forward from the calendar entries created at intake by new case.
The 30-day clock that opens the moment a QME report lands in the file. Computation:
most-recent QME-report activity date + 30 calendar days
The skill identifies QME reports by activity tag 47935. If multiple QME reports exist, the most recent one controls (you can’t object to an old report later just because a new one came in). If no QME reports are on file, the deadline shows “N/A — no QME reports on file.”
This is one of the most malpracticed deadlines in the practice area. A QME report comes in, looks favorable, doesn’t get objected to, and 31 days later it’s locked in. The deadlines skill exists in large part to make sure this never goes silent.
Tag 47933 identifies UR/IMR decisions in the activity feed. For each one:
most-recent IMR decision activity date + 30 calendar days
The countdown applies to IMR final determinations (not the initial UR denial — that has different timing). LC 4610.6(h) allows a Petition for Reconsideration of the IMR; the 30-day window starts from service of the IMR determination, which the activity date approximates.
Missed IMR appeals are functionally final — the WCAB has narrow review under LC 4610.6 and even narrower deadlines. The skill treats this as a high-stakes deadline.
Two related deadlines:
The second is the no-statute-calendared trap. The deadlines skill catches it at the per-case level so the attorney sees it on every case touchpoint. The same flag also surfaces in the morning brief’s DANGER scoring when an approaching 5410 is paired with a stale case.
The full per-case rubric covers eight more deadlines beyond SOL/QME/IMR/DOR:
| Deadline | Authority | Trigger |
|---|---|---|
| Petition for Reconsideration | LC 5903 | 20 days + 5 mail from service of award. The most-missed post-trial deadline. |
| QME panel strike | LC 4062.1 | 10 days from panel receipt. The skill flags whether the strike was timely. |
| QME report issuance | LC 4062.3(c) / 8 CCR 38(a) | 30 days from exam or from last records, whichever is later. One 30-day extension allowed (8 CCR 38(b)). Overdue → follow up with QME office. |
| QME supplemental report | 8 CCR 38(a) | 60 days from receipt of objection. Tracked separately from the initial report deadline. |
| Medical-legal report service | LC 4062.3(b) | 20 days from receipt to serve on opposing party. |
| PD payment initiation | LC 4650(b) | 14 days after last TD payment or P&S date. Late PD = LC 5814 penalty exposure. |
| Discovery cutoff (depo) | CCP 2025.270 | 20 days notice required. Flagged when pending discovery is approaching cutoff. |
| Petition to Reopen | LC 5803 | 5 years from DOI for new and further disability after an award. Often confused with the LC 5410 SOL. |
Every line that fires gets the same status badge treatment described below.
Each deadline gets one of these badges:
| Badge | Trigger | Meaning |
|---|---|---|
| EXPIRED | Date has passed | Bold display with days-past-deadline. Immediate attention required. |
| URGENT | Within 14 days | Bold display with exact days remaining. |
| ACTIVE | 15–30 days | Days remaining shown plainly. |
| OK | More than 30 days out | Approximate time remaining. |
| SATISFIED | Deadline already met | For example, 1-year SOL when Application is filed. |
| N/A | No data to compute | For example, IMR appeal when no IMR decision exists on the case. |
The status is computed against the system date at run time. The countdown is real, not pre-computed.
When the attorney asks for “deadlines this week” without a case, the skill produces a different shape:
WEEKLY DEADLINES — Week of [Mon date] to [Sun date]
## EXPIRED THIS WEEK (Mon [date] — Yesterday [date]) — MISSED
| Date | Case | Deadline | Priority |
|---|---|---|---|
| [date] | [case name] (#[file]) | [description] | HIGH/MED/NORMAL |
(These deadlines ALREADY PASSED. Flag any that still need action.)
## COMING THIS WEEK (Today [date] — Sun [date]) — ACTION NEEDED
| Date | Case | Deadline | Priority |
|---|---|---|---|
| [date] | [case name] (#[file]) | [description] | HIGH/MED/NORMAL |
(These are DUE SOON. This is the actionable section.)
## NEXT WEEK PREVIEW (Mon [date] — Sun [date])
| Date | Case | Deadline | Priority |
|---|---|---|---|
| [date] | [case name] (#[file]) | [description] | HIGH/MED/NORMAL |
(Early warning — start prepping now.)
The three-section split is mandatory. Empty sections still get rendered with the header and “None” — the attorney needs to see that nothing was missed, not skip past the section. The EXPIRED section is intentionally listed first because that’s where the malpractice exposure lives. If you reorganize the output by priority or by case, the missed ones get buried.
Autogenerated noise tasks (REVIEW (auto…), VERIFY (auto…), Review filed orphan) are filtered out before the split.
The reasons:
The skill gives you the computed dates as a starting point. The attorney confirms them against the actual served documents, the EAMS file, and the calendar — that’s the legal act AAI doesn’t do.
DEADLINE TRACKER — Doe, Jane v. Sample Container Inc (#[FILE-#])
DOI: 2025-04-15 | Case status: Open
| Deadline | Statute | Date | Countdown | Status |
|---------------------------|----------------|--------------|-------------|------------|
| 1-year SOL | LC 5405 | 2026-04-15 | SATISFIED | ✓ Filed |
| 5-year SOL | LC 5410 | 2030-04-15 | 4 years | OK |
| QME objection | 8 CCR 31.5(a) | 2026-04-20 | 26 days | ACTIVE |
| IMR appeal | LC 4610.6 | — | — | N/A |
| DOR response | Rule 10417 | 2026-04-08 | 3 days | URGENT |
| Petition for Recon | LC 5903 | — | — | N/A |
| QME panel strike | LC 4062.1 | 2026-02-18 | EXPIRED | ⚠ EXPIRED |
| | | | (18 days past) | |
| QME supplemental report | 8 CCR 38(a) | — | — | N/A |
| PD payment initiation | LC 4650(b) | 2026-05-12 | 51 days | OK |
WARNINGS:
⚠ EXPIRED: QME panel strike expired 18 days ago. If panel was not
struck on time, the proposed QME stands. Verify whether strike
was filed before the deadline.
⚠ URGENT: DOR response due in 3 days. Defense filed DOR on [date].
Draft response by [date].
VERIFY — every date is an attorney determination. AAI computes;
the attorney confirms.
The injury record on the case doesn’t have a populated date_of_injury field. SOL math depends on DOI, so every SOL line will show as N/A. Open the case in Merus and fill in the DOI on the injury record, then re-run.
The skill marks SATISFIED if there’s an ADJ/EAMS number on the injury record. If you entered an EAMS number before actually filing (some firms do this for tracking), the skill thinks you’ve filed. Either remove the placeholder ADJ number or file the actual Application.
The skill uses the most recent QME-report activity date as the start. If your firm uses different tags for QME reports (some firms split “QME report received” from “QME report served on us”), the activity-tag-47935 query may pick the wrong one. Verify the served date against the document; the skill’s estimate is conservative but may be off by service days.
If the case is in “Settled” or “Closed” status, most deadlines become moot. The skill doesn’t filter by status — it computes the math regardless. The attorney can ignore expired deadlines on closed cases. If this becomes noisy, run on open cases only.
Either nothing has a due date in the relevant windows, or the date math against the firm’s task date format failed. The skill expects UNIX seconds (the Merus default); custom date string formats in tasks would parse as NaN and silently drop from the output.
JavaScript Date math near midnight can drift on cases where the activity date was stored with timezone offsets that don’t round-trip cleanly. The skill notes this in the “Why VERIFY” section; for any deadline within 1–2 days, double-check against the source document.
Part of AAI for MerusCase — code-guarded AI case intelligence for California Workers’ Comp attorneys.