ClaimContactService¶
Implements IClaimContactService, resolving role-specific claim contacts (responsible adjuster, claims assistant, supervisor, vocational adjuster, third-party adjuster, return-to-work adjuster, policy safety-management consultant) by combining claim responsibility/case data from IClaimQueryProvider with directory lookups via IUserProfileService. It duplicates the same resolution logic found in ContactsNodeBuilder but exposes it as a standalone, injectable service rather than a fluent per-claim builder.
Purpose¶
- Resolves the claim's responsible adjuster contact, filling in pseudo-user phone/name when the responsibility has no directory mail ID.
- Resolves the claims assistant contact from the claim responsibility record.
- Resolves the claim supervisor contact, using the adjuster's organizational manager for secure claims and the stored responsibility supervisor otherwise.
- Resolves vocational adjuster, third-party adjuster, return-to-work adjuster, and policy safety-management-consultant contacts from their respective claim/case lookups.
- Resolves an adjuster's location via
GetAdjusterLocation-style lookup based on aClaimResponsibility.
Context¶
- Namespace:
SAIF.Services.Claims.Information - Assembly/package:
SAIF.Services(packaged inside theSAIF.SAIFCode.CoreNuGet package)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| ClaimContactService(profile, claimQuery) | public ClaimContactService(IUserProfileService profile, IClaimQueryProvider claimQuery) |
Stores the user-profile service and claim query provider used by all contact-resolution methods. |
| GetResponsibleAdjuster(claimId) | public ContactItem GetResponsibleAdjuster(long claimId) |
Returns the adjuster contact for the claim's responsibility record, with pseudo-user phone/name fallback, or an empty ContactItem if no responsibility/identifier exists. |
| GetClaimsAssistant(claimId) | public ContactItem GetClaimsAssistant(long claimId) |
Returns the "Claim assistant" contact resolved from the responsibility record's claim-assistant mail ID, or an empty ContactItem if none is set. |
| GetSupervisor(claimId) | public ContactItem GetSupervisor(long claimId) |
Returns the "Claim supervisor" contact — the adjuster's manager for secure claims (worker has a hostile-worker code), otherwise the responsibility's stored supervisor (skipped if the supervisor is the same person as the adjuster). |
| GetVocationAdjuster(claimId) | public ContactItem GetVocationAdjuster(long claimId) |
Returns the "Voc Coordinator" contact from the claim's vocational responsibility, falling back to the raw user ID as the formatted name when no directory name is found. |
| GetThirdPartyAdjuster(claimId) | public ContactItem GetThirdPartyAdjuster(long claimId) |
Returns the "3rd Party" contact resolved from the claim's third-party case adjuster user name, or an empty ContactItem if none exists. |
| GetRtwAdjuster(claimId) | public ContactItem GetRtwAdjuster(long claimId) |
Returns the "Return to work" contact resolved from the claim's active RTW load assignment (the first assignment with no expiration date), or an empty ContactItem if none is active. |
| GetPolicySmcContact(claimId) | public ContactItem GetPolicySmcContact(long claimId) |
Returns the "Safety Mgt Consultant" contact resolved from the claim's policy safety-management-consultant team function. |
| GetUserContactInfo(mailId) | public ContactItem GetUserContactInfo(string mailId) |
Resolves a mail ID to a ContactItem, preferring the SAIF employee directory (GetSaifUser) and falling back to application user records (GetApplicationUser); returns an empty ContactItem if neither resolves. |
Behavioral notes¶
- Secure-claim detection for
GetSupervisoris based on whether the claim worker'sHostileWorker.Code(trimmed) is non-empty. - Each
Get*method returns an emptyContactItemrather thannullwhen the underlying data is missing, keeping the API null-safe for callers.
Constraints and usage notes¶
GetUserContactInfolower-cases the mail ID before the SAIF-user lookup but not before the application-user fallback lookup.
Sources¶
- Services/SAIF.Services/Claims/Information/ClaimContactService.cs