EAIP specialist lookup¶
This operation resolves EAIP period and specialist information for a claim, used to populate the EAIP period drop-down in the imaging UI and to determine which specialist user should be notified or assigned for a claim's EAIP-related documents. The expansion of the "EAIP" abbreviation is not confirmed anywhere in the traced source.**
| Field | Value |
|---|---|
| Operation ID | OP-IMG-04 |
| Trigger | Caller invokes clsEAIP.BuildEAIPPeriodDropDown with a claim ID or claim number, or clsEAIPMessages.GetEAIPSpecialist/clsEAIP.GetEAIPSpecialist with a claim ID |
| Inputs | Claim ID (inClaimID) or claim number (inClaimNum) |
| Outputs | A Dictionary(Of String, String) of EAIP period sequence numbers to display descriptions (drop-down), or a specialist user ID string (specialist lookup) |
| Primary components | clsEAIP.BuildEAIPPeriodDropDown, clsEAIP.GetEAIPSpecialist, clsEAIPMessages.SQLGetEAIPSpecialist |
| Entry point | Business\SAIF.Business.Imaging\clsEAIP.vb |
Steps¶
- Caller invokes
clsEAIP.BuildEAIPPeriodDropDownwith either a claim ID or a claim number. - Query EAIP periods for the claim. By claim ID, SQL-013 joins CL_INJURY_CLAIM, EAIP_PERIOD, and EAIP_STATUS_CODE; by claim number, SQL-014 performs the equivalent join filtered by
saif_claim_num. - Order and prioritize results. Both queries assign a
status_code_order(New=1, Active=2, Inactive=3, Closed=4) and abegin_date_order(the period's effective date, orSYSDATEif null), then sort by status priority ascending and begin-date order descending, so the drop-down presents new/active periods first. - Build the dictionary. Each result row is added to the returned dictionary keyed by
EaipPeriodSeqNumwith the formatted description (status description plus effective/expiration date range). - On error: an
ApplicationExceptionis thrown wrappingclsEAIPMessages.ErrCodeBuildEAIPeriodDropDownand the underlying exception message. - Caller invokes
clsEAIP.GetEAIPSpecialistwith a claim ID to resolve the assigned specialist user. - Look up the specialist. SQL-015 retrieves
eaip_userfrom EAIP_PERIOD whereeaip_status_codeis'A'or'N', ordered byeaip_period_eff_dateascending (BR-IMG-01). - Fall back when no specialist is found. If the scalar result is empty after trimming, the result defaults to
clsMessages.EAIP_MAILID(a shared mailbox/group identifier) instead of a specific user.* - On error: an
ApplicationExceptionis thrown wrappingclsEAIPMessages.ErrCodeGetEAIPSpecialistand the underlying exception message. - Note on invocation path.
clsEAIPdoes not inherit from the BOF base business-object classes (its base-class inheritance is commented out in source), so the calling mechanism that triggers this lookup from the broader imaging UI/workflow was not located in this analysis pass.**
Process flow¶
The following diagram visualizes the EAIP specialist lookup and period drop-down build flow.
flowchart TD
Start([Caller invokes BuildEAIPPeriodDropDown<br>or GetEAIPSpecialist]) --> Which{Which entry point?}
Which -->|Drop-down, by claim ID| QueryByID[Query EAIP periods]
Which -->|Drop-down, by claim num| QueryByNum[Query EAIP periods]
QueryByID --> Order[Order by status priority,<br>then begin-date descending]
QueryByNum --> Order
Order --> BuildDict([Return dictionary of<br>period seq num to description])
Which -->|Specialist lookup| QuerySpecialist[Query active/new period<br>eaip_user, ordered by eff date]
QuerySpecialist --> Found{Result found?}
Found -->|Yes| ReturnUser([Return eaip_user])
Found -->|No| Fallback([Return EAIP_MAILID fallback])
Failure and edge-case behavior¶
BuildEAIPPeriodDropDownandGetEAIPSpecialistboth wrap query failures in anApplicationExceptionwith an operation-specific error code, rather than allowing the underlying data-access exception to propagate directly.- If no
EAIP_PERIODrow has status'A'or'N'for the claim, the specialist lookup returns theclsMessages.EAIP_MAILIDfallback rather than an empty result.* clsEAIP's BOF base-class inheritance is commented out in source, so this class does not participate in the standardIPortalRequest/rule-checking lifecycle used elsewhere in this library; its methods are called directly as shared functions.
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
Business\SAIF.Business.Imaging\clsEAIP.vb