Scenario 1 - Externalized Benefit Selection
The customer intends to externalize the benefit selection by setting up a callout rule that sends the relevant claim information and gets a response with the applicable calculation and member liability parameters.
Configuration
The Oracle Health Insurance production environment does not contain benefit specifications, but it does contain all the necessary regime configuration and the limit configuration to carry out calculations. It also includes the code of the matching authorization, if applicable.
Callout Rule
To retrieve the coverage regime (and maybe other overriding information like authorization or waiting period regime) from the external system a callout rule must be configured. In this example, process the response message in the dynamic logic. An alternative approach would be sending a request for a Claims Update IP response message that includes the (overriding) coverage regime as part of claimLineOverride element.
The setup of a callout definition is a combination of functional setup in a UI page of Claims and technical setup. Refer to Property Management for more information on setting a property.
Field | Value | Comment |
---|---|---|
Code |
ExternalBenefit |
|
Description |
External Benefit Selection |
|
Messaging Pattern |
Asynchronous |
Upon executing the callout, the response of the external component can come later. |
Request Logic |
EXT_BEN_REQUEST |
The dynamic logic that is executed to create the request message that is to be delivered to the external component by the callout |
Response Logic |
EXT_BEN_RESPONSE |
The dynamic logic that is executed to process the response message of the external component. |
Active? |
Yes |
Field | Value | Comment |
---|---|---|
Step |
End Pricing |
|
Sequence |
1 |
|
Classification Scheme |
<null> |
In this example the callout will be done for claims in all classification schemes |
Condition |
<null> |
Could add a dynamic logic condition to only do the call out for specific claims. In example for all claims a callout will be done |
Callout Definition |
ExternalBenefit |
See above |
Skip tag |
<null> |
|
Only on Change? |
N |
|
Display in UI? |
Y |
|
Enabled? |
Y |
Request Dynamic Logic
Code:EXT_BEN_REQUEST
Description: Groovy code to send out External Benefit Request Call Out.
Assuming that the external benefits provider needs the following information to return the requested regime(s).
-
Claim
-
Claim Code
-
Claim Form
-
Claim Type
-
Claim Date
-
Payer Code
-
-
Claim Line List
-
Sequence Number
-
Member Date of Birth
-
Procedure Code
-
Benefits Provider Code
-
Start Date
-
End Date
-
then the dynamic logic that creates the request message looks something like this:
ExternalBenefitRequest(claimCode:claim.code){ claimForm ( claim.claimForm.code ) claimType ( claim.type?.code ) claimDate ( claim.claimDate ) payerCode ( claim.payerCode?.code ) claimLines { claim.claimLineList.each { claimLine -> claimLine(sequence: claimLine.sequence) { memberDob ( claimLine.serviceEntityDate ) procedureCode( claimLine.procedure.code ) benefitsProvider( claimLine.benefitsProvider.code ) startDate ( claimLine.startDate ) endDate ( claimLine.endDate ) } } } }
Response Dynamic Logic
Code:EXT_BEN_RESPONSE
Description: Groovy code to process the response message of the external benefit request
Assuming that the external benefits provider returns a response message per request message, that is per claim. Each message can hold a list of claim line override values.
-
Claim Line List
-
Sequence Number
-
Coverage Regime Code
-
Coverage Regime No Auth Code
-
Authorization Regime Code
-
Waiting Period Regime Code
-
Post Benefit Regime Code
-
Product Code
-
Product Family Code
-
Product Line Code
-
then the dynamic logic that processes the response message looks something like this:
def result = new XmlSlurper().parseText(externalBenefitResponse) for (claimLineOverride in result?.claimLineOverrideList) { claimLine.setOverridingBenefits(new BenefitOverride() .withCoverageRegimeCode("") .withProductCode("") .withSubscriptionDate("") .withCoverageSpecificationCode("") .withCoverageRegimeNoAuthCode("") .withFamilyCode("") .withPostBenefitsRegimeCode("") .withAuthorizationRegimeCode("") .withWaitingPeriodRegimeCode("") .withFundingArrangementCode("") ) }
Property Name | Value | Comment | |
---|---|---|---|
ohi.servicecallout.ExternalBenefits.url |
For example: ohi.servicecallout.ExternalBenefits.url=https://extben.domain.org/ |
Web Service endpoint URL for a Callout Rule |
|
ohi.servicecallout.ExternalBenefits. completeness.interval |
For example: ohi.servicecallout.ExternalBenefits.completeness.interval=5 |
Time interval in seconds used by the system to check if a response is received |
|
ohi.servicecallout.ExternalBenefits. completeness.timeout |
For example: ohi.servicecallout.ExternalBenefits.completeness.timeout=15 |
Time interval in seconds used by the system to determine if a response is received in time |
Flow
Step 1 - Receive, Change, or Enter Claim
A claim is sent in through the Claims In Integration Point with the following claim lines. None of the claim lines holds an overriding regime or an overriding coverage specification (no claimLineOverrde element on the claimLine).
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Regime | Overriding Waiting Period Regime | Product |
---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
||||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
||||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
||||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
||||
5 |
Ella Doe |
E4321 |
Dr Smith (PR555) |
Step 2 - Enrollment Callout
The enrollment response from Policies shows that the serviced member John Doe is subscribed to the BASE product and Ella Doe is subscribed to the BASE+ product on all service dates in the claim.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Regime | Overriding Waiting Period Regime | Product |
---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
|||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
|||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
|||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
|||
5 |
Ella Doe |
E4321 |
Dr Smith (PR555) |
BASE+ |
Step 3 - End Pricing Callout Rules
The Callout rule ExernalBenefits will fire. The sent out message will look something like this.
<ExternalBenefitRequest claimCode="12345"> <claimForm>387I</claimForm> <claimType>I</claimType> <claimDate>2019-08-01<claimDate> <payerCode>ABC</payerCode> <claimLines> <claimLine sequence="1"> <memberDob>1990-12-01</memberDob> <procedureCode>A2341</procedureCode> <benefitsProvider>PR123</locationProvider> <startDate>2019-08-01</startDate> <endDate>2019-08-01</endDate> </claimLine> <claimLine sequence="2"> <memberDob>1990-12-01</memberDob> <procedureCode>B6687</procedureCode> <benefitsProvider>PR555</locationProvider> <startDate>2019-08-02</startDate> <endDate>2019-08-10</endDate> </claimLine> ... } } } }
The response message from the external system will look something like this.
<ExternalBenefitResponse claimCode="12345"> <claimLines> <claimLine sequence="1"> <coverageRegimeCode>Copay 20</coverageRegimeCode> </claimLine> <claimLine sequence="2"> <coverageRegimeCode>Cover in Full</coverageRegimeCode> </claimLine> <claimLine sequence="3"> <coverageRegimeCode>Cover in Full</coverageRegimeCode> <productCode>Base+<productCode> <contractStartDate>2019-01-01</contractStartDate> </claimLine> <claimLine sequence="4"> <coverageRegimeCode>Cover in Full</coverageRegimeCode> <waitingPeriodRegimeCode>Wait 60</waitingPeriodRegimeCode> </claimLine> <claimLine sequence="6"> <waitingPeriodRegimeCode>Wait 60</waitingPeriodRegimeCode> </claimLine> } } } }
-
The following values are set
-
Coverage regime 'Copay 20' for Ella Doe’s procedure A2341 by Dr.Jackson.
-
Coverage regime 'Covered in Full' for Ella Doe’s procedure B6687 by Dr Smith.
-
Coverage regime 'Covered in Full' for John Doe’s procedure C9348 by Dr Smith and also setting the product to BASE+
-
Coverage regime 'Covered in Full' and an overriding waiting period regime 'Wait 60' for Ella Doe’s procedure D5678 by Dr Smith
-
The callout did not return any values for Ella Doe’s E4321 procedure.
-
-
If the response holds an unknown regime code, the system raises an error and the callout step is failed
-
If the response holds, for example, a waiting period regime but no coverage regime or benefit specification, the system raises an error and the callout step is failed.
-
If the response is not received on time the system raises an error, and the callout step is failed.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Regime | Overriding Waiting Period Regime | Product |
---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
Copay 20 |
||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
Covered in Full |
||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
Covered in Full |
BASE+ |
|
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
Covered in Full |
Wait 60 |
|
5 |
Ella Doe |
E4321 |
Dr Smith (PR555) |
BASE+ |
Step 4 - Benefit Selection
Claim line 5 does not specify an overriding coverage regime so for this line internal benefit selection will not be skipped. Because no benefits are present in the system, line 5 will get an error message for no benefit found and the claim line will be denied. For this claim line message CLA-FL-BENS-017 is applied (There are no active benefits on benefits input date {date}).
Note that claim lines 1 - 4 also will have no benefit specifications but because they have an overriding coverage regime the validate selection step is skipped and does not lead to an error situation
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Regime | Overriding Waiting Period Regime | Product | Result |
---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
Copay 20 |
|||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
Covered in Full |
|||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
Covered in Full |
BASE+ |
||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
Covered in Full |
Wait 60 |
||
5 |
Ella Doe |
E4321 |
Dr Smith (PR555) |
BASE+ |
CLA-FL-BENS-017 |
Step 5 - Evaluate Regimes
Waiting Periods
Claim Line 4 will be evaluated against the overriding waiting period Wait 60. This example assumes that Ella Doe does not serve the waiting period Wait 60 for the product BASE+ .
The other lines do not have a waiting period regime. These lines pass evaluation.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Regime | Overriding Waiting Period Regime | Product | Result |
---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
Copay 20 |
|||
2 |
Ella Doe |
B6687 |
Dr Jackson (PR123) |
BASE+ |
Covered in Full |
|||
3 |
John Doe |
C9348 |
Dr Jackson (PR123) |
BASE |
Covered in Full |
BASE+ |
||
4 |
Ella Doe |
D5678 |
Dr Jackson (PR123) |
BASE+ |
Covered in Full |
Wait 60 |
Wait 60 Error message |
|
5 |
Ella Doe |
E4321 |
Dr Jackson (PR123) |
BASE+ |
CLA-FL-BENS-017 |
Coverage Regimes
Assuming that no limits prevent coverage, the system creates claim line rule coverages and claim line coverages for the claim lines 1, 2 and 3 and the covered amount is updated. At the claim level, the total covered amount is updated.
A claim line benefit specification is created with a reference to the product and the (overriding) coverage regime. The reference to the coverage specification remains empty (as none was applied).
Scenario 2 - Overriding Internal Benefit Selection
The customer intends to override the internal benefit selection by specifying the applicable benefit specification code on the claim line. The claim line is then adjudicated as though the overriding benefit specification was the result of the internal selection. The production environment contains the full product benefit specification configuration.
Configuration
This scenario does not require additional configuration. The overriding benefit specification is sent in as part of claim entry.
Flow
Step 1 - Receive, Change, or Enter Claim
A claim is sent in through the Claims In Integration Point with the following claim lines. None of the claim lines is sent in with an overriding coverage regime.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Specification | Overriding Waiting Period Regime | Selected Coverage Specification | Selected Coverage Regime | Result |
---|---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
||||||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
CS1111 |
|||||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
CS2222 |
|||||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
CS1111 |
Wait 60 |
Step 2 - Enrollment Callout
The enrollment response from Policies shows that the serviced member John Doe is subscribed to the BASE product and Ella Doe is subscribed to the BASE+ product on all service dates in the claim.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Specification | Overriding Waiting Period Regime | Selected Coverage Specification | Selected Coverage Regime | Result |
---|---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
|||||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
||||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
CS2222 |
||||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
Wait 60 |
Step 3 - End Pricing Callout Rules
In this example no callout rule is used as it is assumed that the overriding values are already included when the claim is sent in. However for the rest of the example it would make no difference if the overriding coverage specification had been entered through an external benefit callout.
Step 4 - Benefit Selection
Because Claim line 2, 3 and 4 specify an overriding coverage specification the internal benefit selection is skipped. Claim line 1 does not specify an overriding coverage specification so for this line internal benefit selection will not be skipped.
In a situation that no overriding coverage specification would have been defined on line 2, 3 and 4, the benefit selection for these lines might have resulted in waiting period specifications and/or authorization specifications. But in this example there is such an overriding coverage specification and therefore all other benefit selection is skipped. |
In this example the coverage specification CS3333 was found for Ella Doe’s A2341 procedure by Dr Jackson.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Specification | Overriding Waiting Period Regime | Selected Coverage Specification | Selected Coverage Regime | Result |
---|---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
CS3333 |
||||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
||||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
CS2222 |
||||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
Wait 60 |
Step 5 - Evaluate Regimes
Waiting Periods
Claim Line 4 will be evaluated against the overriding waiting period regime Wait 60. This example assumes that Ella Doe does not serve the waiting period Wait 60 for the product BASE+ .
The other lines do not have a waiting period regime. These lines pass waiting period evaluation.
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Specification | Overriding Waiting Period Regime | Selected Coverage Specification | Selected Coverage Regime | Result |
---|---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
CS3333 |
||||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
||||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
CS2222 |
||||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
Wait 60 |
Wait 60 Error message |
Coverage Regimes
Assuming that coverage specification CS2222 has a coverage regime 'Covered in Full' and coverage specifications CS1111 and CS3333 have a coverage regime 'Copay 20', the results of the coverage regime evaluation are:
Sequence | Serviced Member | Procedure | Benefits Provider | Policy Product | Overriding Coverage Specification | Overriding Waiting Period Regime | Selected Coverage Specification | Selected Coverage Regime | Result |
---|---|---|---|---|---|---|---|---|---|
1 |
Ella Doe |
A2341 |
Dr Jackson (PR123) |
BASE+ |
CS3333 |
Copay 20 |
|||
2 |
Ella Doe |
B6687 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
Copay 20 |
|||
3 |
John Doe |
C9348 |
Dr Smith (PR555) |
BASE |
CS2222 |
Covered in Full |
|||
4 |
Ella Doe |
D5678 |
Dr Smith (PR555) |
BASE+ |
CS1111 |
Wait 60 |
Wait 60 Error message |
Assuming that no limits prevent coverage, the system creates claim line rule coverages and claim line coverages for the claim lines 1, 2 and 3 and the covered amount is updated. At the claim level, the total covered amount is updated. A claim line benefit specification is created with a reference to the product and the selected coverage regime. The reference to the coverage specification is filled with the overriding or the selected coverage specification (whichever applies).