AS2805_A Integration

The configuration of integrations in the Oracle Insurance Gateway consists of making sure that the prescribed integration types, codes and steps are present in the system. This section describes the prescribed configuration elements for all the specific message exchanges in scope for AS2805_A.

Validation of the integration configuration

Oracle Insurance Gateway supports the validation of integration configuration through invoking a specific validation service. For AS2805_A integrations you can trigger this validation by doing an HTTP GET on:

http://<host:port>/api/integrations/as2805_a/<code>/validate?extensions=true

In this URL you should replace the <code> with one of the below fixed integration codes.

Generic configuration elements

All the integration configuration records for AS2805_A can take a configuration element for:

  • functionErrorPayload
    this is a reference to a dynamic logic to construct a workflow message payload.

  • errorDestination
    this is a reference to a destination record to which the workflow message needs to be sent.

This information is used in case an exchange runs into an issue for which a workflow event needs to be emitted. Due to the near-real-time nature of the AS2805_A integration in these cases an AS2805_A response (with a response code to indicate that the process completed) is still sent back.

The workflow event then separately is used to
  1. construct a workflow message using the dynamic logic configured through functionErrorPayload and then

  2. send that out to the configured errorDestination.

A typical use of this is that such a workflow message then is used by the Oracle Insurance Gateway operator to further analyze the situation and where necessary take appropriate action.

0200-170000, 0200-171000

These operations match to Claims processing. The configuration for these AS2805_A interfaces exchanges are illustrated by the below example payload. The actual configuration record can be created by accessing the following resource:

http://<host:port>/api/generic/integrations

Replace the <host:port> information with the respective information of the Oracle Insurance Gateway installation.

{
  "code": "0200-170000",
  "type": "as2805_a",
  "descr": "<free format description of the integration>",
  "functionErrorPayload": {
    "code": "<code of the dynamic logic to create workflow payload>"
  },
  "errorDestination": {
    "code": "<code of the destination to send workflow event to>"
  },
  "integrationSteps": [
    {
      "sequence": 1,
      "code": "<free format code of this step, note that this code is used in Query typeConfig>",
      "outputName": "claims_submit",
      "indicatorExpectNotification": true,
      "subtype": "PROCESS",
      "destination": {
        "code": "<code of the destination of OHI Claims>"
      },
      "typeConfig": {
        "functionPayload": "<code of the dynamic logic to transform AS2805 to Claims payload>"
      }
    },
    {
      "sequence": 2,
      "code": "<free format code of this step>",
      "outputName": "claims_out",
      "subtype": "QUERY",
      "destination": {
        "code": "<code of the destination of OHI Claims>"
      },
      "typeConfig": {
        "resourceName": "claims",
        "locationHeader": "{<code of the above PROCESS step>-relatedLink}",
        "expand": "claimLineList.claimLineMessageList",
        "fields": "claimLineList.claimLineMessageList.message.message"
      }
    },
    {
      "sequence": 3,
      "code": "<free format code of this step>",
      "outputName": "<free format name of the output>",
      "subtype": "TRANSFORM",
      "functionTransformation": {
        "code": "<code of the dynamic logic to transform Claims output to AS2805>"
      }
    }
  ]
}

Integration Details

Claim transaction (0200-170000)

The values with (*) indicate a 'free format' value. For the others, a fixed value applies. The system automatically validates the internal correctness of the configuration record. This also applies to Claim Quote. In case the configuration is invalid this results in an error: OIG-GATE-046.

Column Value Notes

step 1

code

0200-170000-process (*)

subtype

PROCESS

sequence

1

expectNotification

true

Expect that Claims sends out an event to resume the exchange

outputName

claims_submit

Holds the payload that is used for Claims submission

destination

destination.claims (*)

Reference to the Claims destination record

typeConfig.functionPayload

claimRequest (*)

Reference to the dynamic logic to construct Claims payload

step 2

code

0210-170000-collect (*)

subtype

QUERY

sequence

2

outputName

claims_out

Holds the payload that is returned from Claims’s claim generic resource

destination

destination.claims (*)

Reference to the Claims destination record

typeConfig.resourceName

claims

Claims' claim generic resource

typeConfig.locationHeader

{0200-170000-process-relatedLink} (*)

Uses information from step 1 to construct link to specific Claims claim resource

typeConfig.expand

claimLineList.claimLineMessageList

To have Claims payload include specific sub resources. This also depends on how Claims claim messages are used to determine AS2805 message response codes.

typeConfig.fields

claimLineList.claimLineMessageList.message.message

To have Claims payload include specific elements (of sub resources). This also depends on how Claims claim line messages are used to determine AS2805 message response item codes.

step 3

code

0210-170000-transform (*)

subtype

TRANSFORM

sequence

3

dynamicLogic

claimResponse (*)

Reference to the dynamic logic to construct AS2805 response payload

outputName

as2805_output

Holds the as2805 payload that is returned to AS2805 device

Claim quote (0200-171000)

Steps and values similar to the configuration depicted for Claim transaction (0200-170000)

0200-290000, 0420-170000, 0421-170000

These operations match to Claims cancellation. This integration is special in that it requires no configured steps, only the definition of an integration record. This integration record looks like this.

{
    "type": "as2805_a",
    "code": "<either 0200-290000, 0420-170000 or 0421-170000>",
    "descr": "<a free format description for the integration>",
}

Integration Details

Essentially the system uses the AS2805_A request message, to detect that one of these integration use cases is requested. It then subsequently generates the (fixed) steps it needs to go through in order to fulfill the requested operation.

The goal of this integration to initiate a call to Claims cancel operation. In order to determine which specific claim needs canceling it uses the information that is provided on the AS2805_A input message for a query against Oracle Insurance Gateway’s exchange store. By using the agreed-upon identifying elements of this specific request the unique identifier of a claim that was created/processed earlier, because of 0200-170000, can be obtained. This unique identifier is then subsequently used in a call the Claims cancel resource.

Claims cancel functionality can have a couple of prescribed results. These results are internally mapped to agreed-upon AS2805_A response codes. This code is then used in the actual automatic creation of the AS2805_A response message - all without having to write dynamic logic.

The remainder of this section provides additional details about the configuration elements.

type

For AS2805_A, this is a fixed string: as2805_a

code

For 0200-29000 use case this is fixed string: 0200-290000.
For 0420-170000 use case this is fixed string: 0420-170000
and for 0421-170000, the fixed string is 0421-170000.

descr

This is a free format description for the integration.

0420-290000, 0421-290000

These operations match to the Claims update (including submit). This integration is special in that it requires no configured steps, only the definition of an integration record. This integration record looks like this.

{
    "type": "as2805_a",
    "code": "<either 0420-290000 or 0421-290000>",
    "descr": "<a free format description for the integration>",
}

Integration Details

Essentially the system uses the AS2805_A request message, to detect that one of these integration use cases is requested. It then subsequently generates the (fixed) steps it needs to go through in order to fulfill the requested operation.

The goal of this integration to initiate a call to the Claims update (and submit). In order to determine which specific claim needs to be updated, it uses the information that is provided on the AS2805_A input message for a query against Oracle Insurance Gateway’s exchange store. By using the agreed-upon identifying elements of this specific request the unique identifier of a claim that was canceled earlier, because of 0200-290000, can be obtained. This unique identifier is then subsequently used in a call the Claims update (and submit).

The Claims update (and submit) functionality can have a couple of prescribed results. These results are internally mapped to agreed-upon AS2805_A response codes. This code is then used in the actual automatic creation of the AS2805_A response message - all without having to write dynamic logic.

The remainder of this section provides additional details about the configuration elements.

type

For AS2805_A, this is a fixed string: as2805_a

code

For 0420-29000 use case this is fixed string: 0420-290000
and for 0421-290000, the fixed string is 0421-290000.

descr

This is a free format description for the integration.

0520, 0521

These operations match to a Reconciliation process. Besides the presence of a fixed integration record - which is given below - there are no predefined integration steps defined. It is important to note that typically the steps involved will eventually result in some data, which can be used to construct a valid AS2805_A response message out of.

{
    "type": "as2805_a",
    "code": "<either 0520, or 0521>",
    "descr": "<a free format description for the integration>",
    "integrationSteps": [
        {
            ..... typically 1+ integration steps
            followed by a final integration step
        },
        {
            "sequence": n,
            "code": "<a useful code for this step>",
            "subtype": "TRANSFORM",
            "outputName": "<a useful name for the output of this step>",
            "functionTransform": {
                "code": "<code of the transform dynamic logic outbound>"
            }
        }
    ]
}