Configuration Migration Integration Point
Some Oracle Health Insurance components have the ability for users to select configuration rules, package and extract these rules into a data file set and import them into another environment.
This ability supports an incremental migration strategy, i.e., one rule at a time, for bringing in new configuration rules all the way from a development environment to the production environment.
This page describes the integration point that enables such selective configuration migration strategy.
Creating a Migration Set
A PUT call creates a new migration set.
The URL is different per component, as it includes the component specific data set definition code. The following data set definition codes are available:
-
CLAIMS_CONFIGURATION
-
POLICIES_CONFIGURATION
-
AUTHORIZATIONS_CONFIGURATION
-
GATEWAY_CONFIGURATION
The URL for the Oracle Insurance Gateway looks like this:
http://<host>:<port>/<context-root>/dataexchange/datasetdefinition/GATEWAY_CONFIGURATION/dataset
The payload structure for creating the data set is as follows:
{
"code":"<migration set code>",
"description":"<description of the migration set code>",
"configMigrationItems" : [{
"tableId": <tableId>,
"recordId" : <recordId>
},....
],
"excludeOptions": [{
"tableTopId": <tableTopId>,
"tableDependentId" : <tableDependentId>
},...
],
"globalIncludeOptions": [{
"tableId" : <tableId>
}, ...
]
}
Each item represents a single top level configuration item or rule that is included in the migration set.
When the migration set builds, the application includes all listed items in the payload. By default this also includes all building block configuration upon which the selected item depends.
If you do not want the application to include (some of) these underlying configuration items, you can specify excludeOptions.
Each excludeOption represents an instruction to the application to omit a part of the underlying configuration, when building the migration set.
The request creates a data set with the requested items and returns HTTP Response Code 201 along with the created dataset in the location header.
- Note
-
There are a few global includes possible, like Agents, Brokers and Providers for Policies. If any data gets migrated and has a reference to the selected global option, then that also gets included in the set. Otherwise, these are excluded by default.
Building and Exporting a Migration Set
The creation and build for a selective migration set gets initiated with a POST call with the following URL
http://<host>:<port>/<context-root>/dataexchange/createandexport/datasetdefinition/{dataSetDefinitionCode}/dataset
For the specified definitions a migration set for selective migration creates and builds an outbound file for migration. If the migration set with the specified set code exists, then the system returns an error.
When the migration set builds, the application includes all listed items in the payload. By default this also includes all building block configuration upon which the selected item depends.
The request starts a background process that gathers all requested items, creates a set and then converts it into a payload structure. The build process is similar to the build payload IP. For details on response refer to build payload IP in the Data Set Operations Integration Point guide. The payload exports on the source environment.
Import requests, enables the import of the payload on the target environment as described in the Data Set Operations Integration Point guide.
- Note
-
The build payload request (described in the Data Set Operations Integration Point) can be used to re-build the payload file if needed by providing the set code created by this process.
The payload structure for creating the data set and building is as follows:
{
"code":"<migration set code>",
"description":"<description of the migration set code>",
"inclusionDate" : "2000-12-31",
"exactVersionMatch" : true,
"disableDeleteByOmission" : true,
"items" : [{
"tableId": <tableId>,
"recordId" : <recordId>
},....
],
"excludeOptions": [{
"tableTopId": <tableTopId>,
"tableDependentId" : <tableDependentId>
},...
],
"globalIncludeOptions": [{
"tableId" : <tableId>
}, ...
]
}
- Note
-
<inclusionDate> is optional, if present, then only those items from the set are included that are created or updated since the inclusionDate. This helps in keeping the size of the set in check.
Authorization
The access restriction 'datasetoperation createandexport API' protects this operation.
Error Messages
The response returns the below error messages:
Code | Sev | Message |
---|---|---|
GEN-MIGR-008 |
Fatal |
It is not possible to start a new build while another build or import is in progress |
GEN-MIGR-010 |
Fatal |
It is not possible to start a build with empty data set |
Examples:
The below payload example creates a migration set that includes all group clients without dynamic logic:
{ "code":"SampleTest", "description":"SampleTest", "exactVersionMatch" : true, "disableDeleteByOmission" : true, "items" : [{ "tableId": 18039405, // id of POL_GROUP_CLIENTS } ], "excludeOptions": [{ "tableTopId": 18039405, "tableDependentId" : 2220 } ]