Add Product Service Definitions
The add product service definitions integration point enables the users to add service definitions, services and service options to a single product or to multiple products.
Operations
This specific API supports the following operations
|
|
Rules
Required and Allowed Properties
The API requires the following properties in the payload
-
A product list that contains a minimum of one product.
-
At least one of the properties
serviceOptionCode
andincludeProductServicesOnly
-
The
serviceCode
property is not allowed if the payload specifiesincludeProductServicesOnly = true
. -
The
serviceCode
property is only allowed if the payload also specifies aserviceOptionCode
. -
The
serviceDefinitionCode
property is only allowed if the payload also specifies aserviceCode
and aserviceOptionCode
. -
The
authorizationMissing
property is only allowed if the payload also specifies acoverageRegimeCode
.
If the payload specifies acoverageRegimeCode
but it does not specify theauthorizationMissing
property, the API defaults the value to false. -
A parameter alias list is only allowed in the payload if the payload also specifies a coverageRegimeCode.
-
Only Cover withhold categories that are included in the specified coverage regime can be part of the Parameter alias usage list.
-
The presence of an accumulation option in a product service definition influences whether adding a parameter alias for a limit to the Parameter alias usage list is possible.
-
-
A selected accumulation option list is only allowed in the payload if the payload also specifies a
coverageRegimeCode
.
Processing Depends on Payload
The results of processing the request depend on the values for includeProductServicesOnly
, serviceOptionCode
, serviceCode
and serviceDefinitionCode
in the payload.
-
If the payload specifies
includeProductServicesOnly = true
, the API adds only service definitions to the product. It adds no services or service options to the product. The API only completes the list of service definitions for the services already linked to the products.-
If the payload specifies no
serviceOptionCode
, the API adds the following to each product in the product list:-
the service definitions that are linked to the services that are linked to the product
-
-
If the payload specifies a
serviceOptionCode
, the API adds the following to each product in the product list:-
the service definitions that are linked to the services that are linked to the product and that are linked to the service option.
-
-
-
If the payload specifies
includeProductServicesOnly = false
, the API adds services, service definitions and service options to the product. The API completes the products wits the details of the service option.-
If the payload specifies only a
serviceOptionCode
the API adds the following to each product in the product list:-
the services that are linked to the service option
-
the service definitions that are linked to the services that are linked to the service option
-
the service option
-
-
If the payload specifies a
serviceOptionCode
and aserviceCode
the API adds the following to each product in the product list:-
the service
-
the service definitions that are linked to the service
-
the service option
-
-
If the payload specifies a
serviceOptionCode
,serviceCode
, andserviceDefinitionCode
the API adds the following to each product in the product list:-
the service definition
-
-
-
If the payload does not specify the includeProductServicesOnly, the API defaults its value to false.
-
The API only adds service definitions that are 'Included by default' and 'Active'.
-
The API only adds the service options and services to the product if they are not already part of the product.
-
For the products with status Review, Test and Approved in the product list, the API sets the product status back to Edit (PRD-IP-PSVD-041 is returned for products with Queued status)
Setting the Product Service Definition Properties
-
If the payload specifies the value for a property of a product service definition, for example
"ageFrom": "10"
, then the API sets this value for every added product service definition. -
If the payload does not specify a start date, the API uses the product start date for the product service definition start date.
-
If the payload does not specify the Marked for Selection indicator, it is by default set to true for every added product service definition.
Creating Parameter Aliases
Cover Withhold Categories
When the API creates a product service definition with a regime of type coverage, it also creates a parameter alias usage for each cover withhold category that:
-
has an intersection with the specified regime
-
has the type not set to null
-
is not already part of the parameter alias usage list in the request payload.
Limits
The API additionally includes parameter alias usages with the limit related to the accumulation option when:
-
The accumulation option is part of a product service definition’s selected accumulation option list.
-
The parameter alias is not already part of the parameter alias usage list in the request payload.
-
If only one parameter alias is configurable on the new limit, and a parameter alias usage is not specified in the request payload, then the parameter alias is added by default along with the limit (only applicable for limits where display in UI is False).
If the limit is linked to multiple accumulation options, only one parameter alias usages is created for the limit. |
Dynamic Fields
In implementing the Oracle Health Insurance application, there may be dynamic fields with the product service definition that must be interfaced. See "Property Representation and Handling" section in the HTTP API/IP Concepts part in the Developer Guide for more details on how external interfaces can provide values for dynamic fields in request messages and how the application handles them.
Request Message
The system accepts the product service definitions request message in the following format:
Product Service Definitions
{ "productList": [ { "productCode": "<code>" } ], "includeProductServicesOnly" : false "serviceOptionCode": "<code>", "serviceCode": "<code>", "serviceDefinitionCode": "<code>", "startDate": "", "coverageRegimeCode": "<code>", "authorizationRegimeCode": "", "postBenefitsRegimeCode": "<code>", "reservationRegimeCode": "<code>", "waitingPeriodRegimeCode": "", "ageFrom": "", "ageTo": "", "authorizationMissing": true, "conditionDynamicLogicCode": "<code>", "countryRegionEmployerCode": "<code>", "countryRegionGroupEmployerCode": "<code>", "personCountryRegionUsage": "", "countryRegionGroupPersonCode": "<code>", "providerCountryRegionUsage": "", "countryRegionGroupProviderCode": "<code>", "countryRegionPersonCode": "<code>", "productProviderGroupUsage": "", "countryRegionProviderCode": "<code>", "employerCountryRegionUsage": "", "endDate": "", "gender": "", "markedForSelection": true, "newProductServiceDefinition": true, "productServiceDefinitionPriorityCode": "", "specificProviderGroupUsage": "", "<dynamicField>": "", "productServiceDefProviderGroupList": [ { "providerGroupCode": "<code>", "assignedProviderGroupLabelCode": "<code>" } ], "parameterAliasUsageList": [ { "parameterAliasCode": "<code>", "coverWithholdCategoryCode": "<code>", "limitCode": "<code>" } ], "selectedAccumulationOptionList": [ { "accumulationOption": { "coverWithholdCategoryCode": "<code>", "limitCode": "<code>" "reachedAction" : "" } } ] }
Authorization
This integration point requires a grant for access restriction addproductservicedefinitions IP.
Batches
This integration point supports adding service definitions to a list of products. The list of service definitions can be restricted by adding a service option code, service code and/or service definition code to the payload. This IP does not support restricting the list of service definitions by specifying lists of service option codes, service codes and/or service definition codes to the payload.
Error Messages
The following error messages that are specific to this integration point may be returned in the response messages:
Code | Severity | Message Text |
---|---|---|
PRD-IP-PSVD-001 |
Fatal |
Product code {code} is unknown |
PRD-IP-PSVD-002 |
Fatal |
Service option code {code} is unknown |
PRD-IP-PSVD-003 |
Fatal |
Service code {code} is unknown or is not part of the services associated with the service option |
PRD-IP-PSVD-004 |
Fatal |
Service definition code {code} is unknown or is not part of the service definitions associated with the service |
PRD-IP-PSVD-005 |
Fatal |
Coverage regime code {code} is unknown |
PRD-IP-PSVD-006 |
Fatal |
Authorization regime code {code} is unknown |
PRD-IP-PSVD-007 |
Fatal |
Post benefits regime code {code} is unknown |
PRD-IP-PSVD-008 |
Fatal |
Reservation regime code {code} is unknown |
PRD-IP-PSVD-009 |
Fatal |
Waiting period regime code {code} is unknown |
PRD-IP-PSVD-010 |
Fatal |
Condition dynamic logic code {code} is unknown |
PRD-IP-PSVD-011 |
Fatal |
Country region employer code {code} is unknown |
PRD-IP-PSVD-012 |
Fatal |
Country region group employer code {code} is unknown |
PRD-IP-PSVD-013 |
Fatal |
Country region group person code {code} is unknown |
PRD-IP-PSVD-014 |
Fatal |
Country region group provider code {code} is unknown |
PRD-IP-PSVD-015 |
Fatal |
Country region person code {code} is unknown |
PRD-IP-PSVD-016 |
Fatal |
Country region provider code {code} is unknown |
PRD-IP-PSVD-017 |
Fatal |
Provider group code {code} is unknown |
PRD-IP-PSVD-018 |
Fatal |
Assigned provider group label code {code} is unknown |
PRD-IP-PSVD-019 |
Fatal |
Parameter alias code {code} is unknown |
PRD-IP-PSVD-020 |
Fatal |
Parameter alias cover withhold category code {code} is unknown |
PRD-IP-PSVD-021 |
Fatal |
Parameter alias limit code {code} is unknown |
PRD-IP-PSVD-022 |
Fatal |
Accumulation option with cover withhold category {code}, limit {code} and reached action {action} is unknown |
PRD-IP-PSVD-023 |
Fatal |
Accumulation option with cover withhold category {code} and limit {code} cannot be added for coverage regime {code} |
PRD-IP-PSVD-024 |
Fatal |
Authorization missing can only be defined when the regime of type coverage |
PRD-IP-PSVD-025 |
Fatal |
Parameter alias usages cannot be defined without a coverage regime |
PRD-IP-PSVD-026 |
Fatal |
Cover withhold category {code} cannot be parameterized for the {code} regime |
PRD-IP-PSVD-027 |
Fatal |
Accumulation options not defined, or the limit {code} cannot be parameterized for the selected accumulation options |
PRD-IP-PSVD-028 |
Fatal |
Empty product list or product list not part of the request |
PRD-IP-PSVD-029 |
Fatal |
Service option code is required when indicator include product services only is not provided or set to false |
PRD-IP-PSVD-030 |
Fatal |
Service code is required when defining a service definition |
PRD-IP-PSVD-031 |
Fatal |
Multiple regimes cannot be defined for the same service definition |
PRD-IP-PSVD-032 |
Fatal |
Regime {code} of type {type} cannot be configured for the service definition {code} |
PRD-IP-PSVD-033 |
Fatal |
Cover withhold category {code} cannot be parameterized with the Parameter alias {code} |
PRD-IP-PSVD-034 |
Fatal |
Limit {code} cannot be parameterized with the parameter alias {code} |
PRD-IP-PSVD-035 |
Fatal |
Regime {code} of type {type} cannot be configured for all the service definitions associated with the Service option {code} |
PRD-IP-PSVD-036 |
Fatal |
Regime {code} of type {type} cannot be configured for all the service definitions associated with the Service option {code} and service {code} |
PRD-IP-PSVD-037 |
Fatal |
Product Service definition priority code {code} is unknown |
PRD-IP-PSVD-038 |
Fatal |
Coverage regime code is mandatory when defining the accumulation options for a product service definition |
PRD-IP-PSVD-039 |
Fatal |
Cover withhold category code, limit code and reached action are required when defining an accumulation option |
PRD-IP-PSVD-040 |
Fatal |
Service code cannot be defined with include product services only indicator set to true |
PRD-IP-PSVD-041 |
Fatal |
Cannot add product service definitions as \{product code} is in queued status |
In addition, this integration point may return functional business rule messages as well as the standard messages related to dynamic fields and records. See Response Messages for more information.