ORMB Integration via SFTP

Oracle Insurance Gateway might require to communicate to Oracle Revenue and Billing Management (ORMB) for various use cases, for example, 1) to synchronize group information between OHI Enterprise Policy Administration and ORMB 2) to send the financial messages produced by OHI Claims Adjudication and Pricing or OHI Enterprise Policy Administration for billing to ORMB

In this chapter both the use cases mentioned above are outlined.

Synchronized Group Data

In this case, OHI Enterprise Policy Policies invokes Oracle Insurance Gateway using the file upload mechanism whenever the data gets changed in OHI Enterprise Policy Administration. This is made possible by configuring change event rules of type - "Message" in OHI Enterprise Policy Administration. For details on configuring change event rule, refer to OHI Enterprise Policy Administration - Change Events guide .

The ORBM specific file gets produced by OHI Enterprise Policy Administration, and gets uploaded to Oracle Insurance Gateway using multipart/form-data. The gateway saves the Data File contents for each Data File in the Data File Set and sends these contents via SFTP/REST to the destination (ORMB).

integration connector gateway deployment

If Oracle Insurance Gateway needs to transmit the contents of each Data File to a configured SFTP location, then an SFTP Destination ORMBSFTP must be set up. Such a destination can be set up by sending in the following request to Generic API /sftpdestinations :

{
  "code": "ORMBSFTP",
  "type" : "SFTP",
  "typeConfig": {
      "hostname" : "somehost.somedomain.com",
      "port" : 22,
      "strictHostKeyChecking" : false,
      "directoryName" : "/some_root_dir/sub_dir"
  }
}

The next step is to create an Integration. This is done by sending the following request using POST Method to Generic API resource /integrations.

{
  "code": "OHI_ORMB_GroupSFTPIntegration",
  "type": "integration",
  "descr": "SFTP group changes from OHI to ORMB ",
  "integrationSteps": [
    {
      "code": "file_upload_SFTP",
      "sequence": 1,
      "subtype": "DELIVERY",
      "destination": {
        "code": "ORMBSFTP"
      }
    }]
}

This integrating gets invoked by OHI Enterprise Policy Administration Connector Configuration. For details on Connector configuration refer to OHI Enterprise Policy Administration Integration Guide.

Financial Integration with ORMB

Using Oracle Insurance Gateway, a set of processes can be orchestrated to run one after another. This feature is especially useful in the chaining of financial activities. An Integration can be set up to call the financial activities one by one.

Given below is a sample request that can be used to set up such an integration :

{
    "code": "financialCalculation",
    "type": "integration",
    "descr": "Financial Calculation",
    "integrationSteps": [
       {
            "code": "invokeCalculatePremium",
            "indicatorExpectNotification": true,
            "subtype":"ACTIVITY",
            "sequence":"1",
             "destination": {
                  "code": "policies"

             },
            "typeConfig": {
              "code": "CALCULATE_PREMIUM",
    		  "description": "{description}",
              "level":"GL",
              "parameters": [

                    {
                        "name": "calculationInputDate",
                        "value": "{calculationInputDate}"
                    },
                    {
                        "name": "lookBackDate",
                        "value": "{lookBackDate}"
                    },
                    {
                    	"name": "groupAccount",
                        "value": "{groupAccount}"

                    },
                    {     "name":"finTransDynLogic",
                         "value": "{finTransDynLogic}"
                     }
                  ]
            }

        },
          {
            "code": "invokeSelectTransactionIntoSet",
            "indicatorExpectNotification": true,
            "subtype":"ACTIVITY",
            "sequence":"2",
             "destination": {
                  "code": "policies"

             },
            "typeConfig": {
              "code": "SELECT_TRANSACTIONS_IN_SET",
    		  "description": "{description}",
              "level":"GL",
              "parameters": [

                    {
                        "name": "financialTransactionSetCode",
                        "value": "{financialTransactionSetCode}"
                    }
                ]
            }

        },
        {
            "code": "invokeSupersede",
            "indicatorExpectNotification": true,
            "subtype":"ACTIVITY",
            "sequence":"3",
             "destination": {
                  "code": "policies"

             },
            "typeConfig": {
              "code": "SUPERSEDE",
    		  "description": "{description}",
              "level":"TS",
              "contextFields": [

                    {
                        "name": "transactionSet",
                        "value": "{financialTransactionSetCode}"
                    }
                ]
            }

        },

        {
            "code": "invokeGenerateFinancialMessage",
            "indicatorExpectNotification": true,
            "subtype":"ACTIVITY",
            "sequence":"4",
            "outputName":"finanicalMessageOHI",
            "destination": {
                  "code": "policies"

             },
            "typeConfig": {
              "code": "GENERATE_FIN_MSG_XML",
    		  "description": "{description}",
              "level":"TS",
              "contextFields": [

                    {
                        "name": "transactionSet",
                        "value": "{financialTransactionSetCode}"
                    }
                ],
                 "parameters": [

                    {
                        "name": "createInvoiceDynLogic",
                        "value": "{createInvoiceDynLogic}"
                    } ,
                     {
                        "name": "createInvoiceLineDynLogic",
                        "value": "{createInvoiceLineDynLogic}"
                    } ,
                   {
                        "name": "createAccountingDetailDynLogic",
                        "value": "{createAccountingDetailDynLogic}"
                    } ,
                     {
                        "name": "cutOffDate",
                        "value": "{cutOffDate}"
                    } ,

                     {
                        "name": "cutOffTime",
                        "value": "{cutOffTime}"
                    }

                ]

            }

        },
           {
            "code": "finMessageTransDeliver",
            "sequence": 5,
            "subtype":"DELIVERY",
            "outputName":"finMessageTransformation",
            "functionTransformation": {"code" :"FinMessageTransformation"},
            "destination": {
                  "code": "ORMBSFTP"

             }

        }
    ]
}

Note that in this configuration all the activity parameters are parameterized. This means they must be supplied at the time of integration invocation. Optionally If there are/is step(s) before calculating premium then these parameters can be added as exchange properties in the preceding dynamic logic. For more details on the parameterization of the configuration refer to the section Integration Parameters and Exchange Properties of the chapter Integration in this guide.

Also, note that activity invocation in OHI Enterprise Policy Administration applications is a asynchronous processes, and therefor indicatorExpectNotification is set to true for all the ACTIVITY steps. Oracle Insurance Gateway expects notification from the interfacing OHI application to resume an integration invocation that is currently in waiting status.

For OHI Enterprise Policy Administration application to send the notification back to Oracle Insurance Gateway, configure the outbound notification endpoint - in this case activity notification endpoint - to the Oracle Insurance Gateway notification endpoint. This requires the system property ohi.activityprocessing.notification.endpoint.<ACTIVITY_TYPE> to be set to "http(s)://{host:port}/{oig application context}/notifications.

Also, in the OHI Enterprise Policy Administration application, the credential and the authentication property must be set for the key <ACTIVITY_TYPE>.

The image below shows the invocation of this integration using Exchange Integration Point - With Parameters

finanicalIntegration

The financial message generated by OHI is accessible to FinMessageTransformation dynamic logic through bind variable 'finanicalMessageOHI'. The financial message gets transformed into ORMB message using transformation dynamic logic and is SFTP to ORBM (via destination 'ORMBSFTP') (see the previous example, for destination configuration) using DELIVERY step 'finMessageTransDeliver'