Delivery Step

This step delivers data to the target system with predefined destinations. It optionally transforms data also if configured to do so.

The following table lists the fields valid for this type of step

Field Description Mandatory?

Code

Code of the integration step.

Yes

Sequence

The sequence of this step. The integration steps get executed in an ascending order of their sequence.

Yes

Subtype

DELIVERY

Yes

Condition Invocation Check

A dynamic logic condition to check if this step should be invoked. The step is skipped if the condition returns false

No

Function Post Process

A dynamic logic function to post process the results of the step.

No

Transform Dynamic Logic

Optional. Code of the dynamic logic unit that performs the transformation.

No

Compression

Optional. This specifies if data needs to be compressed before sending out. Possible values are None or Zip. Default is None.

No

Destination

Reference to the destination.

Yes

Indicator Wait For Notification

Indicates if this invocation should wait for a notification for completion. Possible values are true/false. Default is false.

No

Output MIME type

The MIME type setting for the outgoing request. Default is application/json

No

Type Config

  • timeAllowed: The time allowed for this delivery step to finish, before the Integration Gateway checks if the exchange is resumed. This can also be overwritten at the time of invocation. The value is specified in minutes. This is only used if the indicator wait for notification is Y. See below.

  • inputIntegrationStep: This is the output of any prior steps that the delivery step needs to deliver.

No

Timeout

If the Indicator Wait For Notification is set, it is also possible to configure a timeout value. If the timeout is configured and when the timeout expires, the framework checks if the exchange is already resumed, if not, it sleeps for a maximum 3 times to check if the exchange is resumed, failing which, the exchange is marked as TimedOut. The timeout value can be overwritten at the time of invocation using the parameter < Integration Step Code>-timeAllowed . If there is no configuration present and there is no invocation time parameter, the process takes in the default of 5 minutes.

Sample Configuration: To read a comma separated provider file, transform it to an Oracle Health Insurance Provider Data File format and upload the file as data file set. Subsequently trigger provider import (activity step)

Configure the integration as follows:

Field Configuration Remarks

Integration

code

ProviderImport

Integration Step

code

providerFileUpload

type

DELIVERY

sequence

1

destination

claimsDataFileUpload

Refers to a file upload destination with code "claimsDataFileUpload"

transform dynamic logic

providerImport

Transformation logic.

Integration Step

code

invokeProviderUpload

type

ACTIVITY

sequence

2

indicatorExpectNotification

true

Set the activity notification endpoint in the Claims application to the notification to Oracle Insurance Gateway notification endpoint.

To do this, the system property ohi.activityprocessing.notification.endpoint.PROVIDER_IMPORT must be set to

http(s)://{host:port}/{oig application context}/notifications

In addition, in the Claims application, the credential and authentication property must be set for the key "PROVIDER_IMPORT". This is similar to the setting of credential and authentication for the key policies_user as explained in the query step example

destination

claims

Refers to a rest destination with code "claims"

type config

  • code: PROVIDER_IMPORT

  • description: {description}

  • level: GL

  • parameters

    • dataFileSetCode: {dataFileSetCode}

    • responseDataFileSetCode: {responseDataFileSetCode}

Property by the name 'dataFileSetCode' is set by the system when a delivery step in combination to destination type file upload is used to upload a file in Oracle Health Insurance applications. The value of the property is set to the data file set code under which the file is uploaded by the system to the Oracle Health Insurance application.

Value for 'description' and 'responseDataFileSetCode' can either be 1) input parameters or 2) properties defined in the function post process of the DELIVERY step.

For more details on accessing and setting properties in the dynamic logic, refer to the section 'Integration Parameters and Exchange Properties'.

For more details on the sample dynamic logic, refer to Howto: File Upload.

Input Integration Step

The delivery step considers the input on the input integration step (integration step code/outputName) of any prior steps, for delivery.

  • If the referred inputIntegrationStep has no output, then the delivery step gets skipped with an error message.

  • If the delivery step refers to the inputIntegrationStep that has output as a transform step, then the input that gets transformed and delivered, is from the inputIntegrationStep.

  • The referred input integration step cannot be a subflow step.

Example

The user requires the data files of step 4 to be delivered. For this the delivery step refers to the inputIntegrationStep as described in the following:

{
"sequence": 4,
"code": "GenerateRebateClaimFiles",
"subtype": "TRANSFORM",
"functionTransformation":
{ "code": "GEN_REBATE_CLAIM_FILES" }

},
{
"code": "DeliverPayloadToWorkflow",
"sequence": 5,
"subtype": "DELIVERY",
"conditionInvocationCheck":
{ "code": "CHE_WFL_ERRORS" }

,
"destination":
{ "code": "workflow_destination" }

,
"functionTransformation":
{ "code": "CRE_WFL_PAYLOAD" }

},
{
"sequence": 6,
"code": "GenerateRebateClaimFiles",
"subtype": "DELIVERY",
"inputIntegrationStep":
"code": "GenerateRebateClaimFiles",
"destination":
{ "code": "oracle_landing_zone" }
}
]
}

Notification

Oracle Insurance Gateway expects notification from an Oracle Health Insurance application or from an external system to resume an integration invocation that is currently in waiting status. This notification can come in a custom format or in a specific format and must be received on the Integration Gateway’s notification endpoint. For more details on Notification, refer to the Notification Integration Point in the Developer Guide .