The per-case roster. Everyone on a case — applicant, employer, carrier, adjuster, defense counsel, QMEs, treating physicians, lien claimants — grouped by role with phone, fax, and the people-type-detail notes Merus stores per party. Plus the flags: missing employer? missing carrier? no defense attorney on an active-litigation case?
At the prompt:
aaicase> show parties on Doe
aaicase> parties on case [CASE-ID]
aaicase> who's on the Roe case
About twenty seconds later you have a roster: every party on the case, grouped by role, with the contact info for each and notes where Merus has them. It’s the “who do I call about this case” reference — the party list a hearing prep or a letter draft depends on.
/caseFiles/view only returns the APPLICANT party. To see every party on a case — defense counsel, carrier, adjuster, providers, lien claimants — you must use /parties/view/[CASE-ID].
This is a Merus quirk that bites people who build against the case-view endpoint expecting it to return the full party list. It returns the applicant’s contact, address, phone, and email — but not the defense attorney, not the carrier, not the doctors. Those live on the parties endpoint.
The parties endpoint returns ALL parties in one call — no add/delete trick needed (older Merus integrations used to create and immediately delete a dummy party to force the full list to render; that’s unnecessary with /parties/view). The skill uses the direct endpoint.
If you give a name, the skill resolves to a case ID via merus-search first. Then:
node bin/merus-fetch.mjs /parties/view/[CASE-ID]
That single call returns every party. The skill parses the response, buckets each party by its people_type_id, and displays grouped by role. For the most important parties (applicant, defense attorney, carrier, QME) where the party record is missing phone or email, the skill makes follow-up /contacts/view/[CONTACT-ID] calls to enrich — but only for those few, to keep the run fast.
| people_type_id | Role |
|---|---|
| 58327 | Applicant |
| 58416 | Employer |
| 58417 | Court / Venue |
| 58330 | Carrier / Insurer |
| 58329 | Defense Attorney |
| 58331–58334, 58340, 58347 | Doctors / PTPs / QMEs (various provider subtypes) |
| (other) | Grouped under “Other” |
The display groups parties by these roles in a fixed order: applicant first (it’s the client), then employer, carrier, defense, providers, then everything else. Each party shows name, phone, fax, party ID, contact ID, and the people_type_detail notes — which for carriers often contains the SI/CT claim association, and for defense often the firm’s internal reference.
The /parties/view response includes basic contact info, but not always complete — sometimes phone is there but email isn’t, or the address is missing. For the parties that matter most for case work — applicant, defense attorney, carrier, QME — the skill follows up with a /contacts/view/[CONTACT-ID] call to fill in:
The enrichment is capped at the top 3–5 parties and only fires when the basic party data is incomplete. A case with 15 providers doesn’t trigger 15 enrichment calls — just the key parties that need the extra detail.
Every Workers’ Comp case needs certain parties. The skill flags when they’re absent:
| Flag | Why it matters |
|---|---|
| Missing employer (58416) | Every WC case has an employer. If there’s no employer party, the case is incomplete — the employer is needed for NOR, subpoenas, and the case caption. |
| Missing carrier (58330) | Needed for all benefits correspondence and demands. No carrier party means TD/PD letters have no recipient. |
| Missing defense attorney (58329) | Flagged if the case is in active litigation. Pre-litigation cases legitimately have no defense counsel; litigated ones should. |
| Missing phone on important parties | Applicant or doctor with no phone — you can’t reach them when you need to. |
| Duplicate party | Same contact appears twice with different roles. Sometimes legitimate (a doctor who is both PTP and QME); often a data-entry error. |
| Party in comments but not linked | Case comments mention a defense attorney or carrier that isn’t a formal party. Flagged for cleanup. |
The flags are observations, not blockers. A pre-litigation case missing a defense attorney is fine. An active-litigation case missing one is a gap. The skill surfaces the question; the attorney decides.
After displaying the roster, the skill offers two follow-up actions:
/parties/add. If the contact doesn’t exist, it creates the contact first./contacts/edit.Both are write operations that follow the standard approval flow — the skill shows the proposed change and waits for confirmation before writing. Neither happens automatically; the skill defaults to read-only display unless the attorney explicitly asks to modify.
| show parties on [case] | find Dr. [name] | |
|---|---|---|
| Scope | One case, all parties | One person, all cases |
| Question | “Who’s on this case?” | “Which cases is this person on?” |
| Endpoint | /parties/view/[CASE-ID] | /contacts/index + /contacts/view |
| Use case | Hearing prep, letter drafting, “who do I call about this case” | “I need to reach Dr. Sample but forget which case” |
They’re the two halves of the contact-lookup story: one indexed by case, one indexed by person. An attorney uses show-parties when they have the case in mind; find-doctor when they have the person in mind.
PARTIES — Doe, Jane v. Sample County Agency (#[FILE-#])
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
APPLICANT
Jane Doe (555) 555-0142 cell
jane.doe@example.com
Spanish | Interpreter: needed
EMPLOYER
Sample County Agency (555) 555-0150
HR contact: Sample HR
CARRIER
Sample Insurance Co. (555) 555-0188
Claim: [CLAIM-#] (SI 2026-04-12)
ADJUSTER
Sample Adjuster (555) 555-0177 ext. 3214
j.sample@sampleinsurance.com
DEFENSE ATTORNEY
Sample & Sample LLP (555) 555-0199 fax (555) 555-0198
Attorney: Sample Defense
Ref: SDef-2026-0412
PROVIDERS
Dr. Sample (PTP) (555) 555-0166 Orthopedic Surgery
Dr. Roe (QME) (555) 555-0155 panel — struck twice
FLAGS:
⚠ Applicant language is Spanish, interpreter needed — confirm
WCAB interpreter request is filed (8 CCR 9795.1)
✓ Employer on file
✓ Carrier on file
✓ Defense attorney on file (case is in active litigation)
ACTIONS:
Want me to add a party, or update contact info?
That would mean the skill used /caseFiles/view instead of /parties/view — a bug. The parties endpoint returns everyone. If you genuinely only see the applicant, the case may not have other parties entered yet (common on brand-new intakes).
The doctor may be associated via activities (a report was filed) without being formally added as a party. Activities and parties are separate. Add the doctor as a party (the skill offers this) so they appear in the roster and in correspondence.
The contact record doesn’t have it. The skill enriches from /contacts/view, so if it’s still missing, the contact record itself is incomplete. Update the contact (the skill offers this), or use find Dr. [name] to check if a more complete duplicate contact exists.
A doctor who serves as both PTP and QME on the same case legitimately appears twice with different roles. The flag is informational; ignore it when the duplication is intentional.
The carrier may be entered as a contact but not linked as a party (people_type_id 58330). Or it’s recorded only in the injury record’s carrier_claim_number field, not as a party. Add it as a party so correspondence and demands have a proper recipient.
That field is optional per party — many parties have nothing in it. For carriers it usually holds the claim association; for defense, the firm reference. If it’s blank and you want it populated, edit the party via the Merus UI.
Part of AAI for MerusCase — code-guarded AI case intelligence for California Workers’ Comp attorneys.