EAIP service period retrieval¶
This operation retrieves Early Assistance and Intervention Program (EAIP) service period header data for a claim — service period status and dates, the assigned EAIP user, and the policy-level EAIP/return-to-work (RTW) contact — from the EAIP integration API, and resolves the current EAIP specialist and policy RTW consultant as employee contacts.
| Field | Value |
|---|---|
| Operation ID | OP-VC-11 |
| Trigger | Caller reads clsClaimData.EAIPData(inPeriodSeqNum), which constructs clsEAIPData(dataPortalInfo, claimId, periodSeqNum) |
| Inputs | Claim ID; optional period sequence number |
| Outputs | EAIPUser, ServicePeriodStatusCode/ServicePeriodStatus/ServicePeriodStatusDate, PolicyEAIPUser, RTWLoad, PolicyRTWMailID; resolved EAIPSpecialist/PolicyRTWConsultant employee objects |
| Primary components | clsEAIPData.New, clsEAIPData.BeforeRetrieve/AfterRetrieve, clsEAIPData.EAIPSpecialist |
| Entry point | Business\SAIF.Business.View.Claim\clsEAIPData.vb, Business\SAIF.Business.View.Claim\EaipApi\EaipHeader.vb |
Steps¶
- Select exactly one identifier. The criteria clears the claim ID when a period sequence number is supplied, and clears the period sequence number otherwise, so exactly one identifier is sent to the EAIP API (BR-008).
- Build the EAIP API route.
BeforeRetrieveformats the routeV1/Integration/EAIPHeader/?eaipPeriodSeqNum={0}&claimId={1}using the selected identifier. - Call the EAIP API. The framework dispatches the request and returns results deserialized as
EaipHeader. - If no results are returned:
AfterRetrievereturns the object unpopulated. - Populate the header. If the first result's
EaipUseris non-blank, the object copiesEAIPUser,ServicePeriodStatusCode,ServicePeriodStatus,ServicePeriodStatusDate,PolicyEAIPUser,RTWLoad, andPolicyRTWMailIDfrom the response. - On failure: if
EaipUseris blank, an error message is added ("An Error occurred when EaipApi was called"). - Resolve the EAIP specialist contact. Reading
EAIPSpecialistresolves the assigned employee by mail ID; if that employee's job title does not contain "EAIP" or the employee is not active, the property falls back to the policy-level EAIP user or a pseudo-employee placeholder (BR-009). - Resolve the policy RTW consultant contact.
PolicyRTWConsultantfollows the same resolution pattern against the policy RTW mail ID.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Caller reads EAIPData]) --> Select{Period sequence number supplied?}
Select -->|Yes| ClearClaim[Clear claim ID from criteria]
Select -->|No| ClearPeriod[Clear period sequence number from criteria]
ClearClaim --> Route[Format EAIP header route]
ClearPeriod --> Route
Route --> Call[Call EAIP API]
Call --> HasResults{Results returned?}
HasResults -->|No| Empty([Return unpopulated object])
HasResults -->|Yes| HasUser{EaipUser non-blank?}
HasUser -->|No| ErrAdd([Add error message])
HasUser -->|Yes| Populate[Populate service period fields]
Populate --> Done([Return populated clsEAIPData])
Done --> Specialist[Resolve EAIPSpecialist /<br>PolicyRTWConsultant on access]
Failure and edge-case behavior¶
- Supplying neither a period sequence number nor a claim ID results in both criteria fields being cleared by the mutually-exclusive selection logic, which would resolve to an ambiguous or empty route.*
- A blank
EaipUserin an otherwise successful API response is treated as an error rather than a valid "no EAIP assignment" state. - Employee resolution fallback (pseudo-employee placeholder) means
EAIPSpecialist/PolicyRTWConsultantalways return a usable object even when no real active EAIP specialist is assigned, which can mask a missing assignment if the caller does not check the underlying job title.
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.
Sources¶
Business\SAIF.Business.View.Claim\clsEAIPData.vbBusiness\SAIF.Business.View.Claim\EaipApi\EaipHeader.vb