Add Product Service Definitions

This integration point enables the users to add default or specified service definitions to single or multiple products.

This is controlled by specifying the productServiceOptionCode, productServiceCode, or serviceDefinitionCode in the payload.

  • If the payload specifies a serviceOptionCode:

    • For the products in the status approved, review, or test, set the product status back to edit.

    • Adds the product service option if the service option is not part of the product service option list.

    • Adds all the default and active services linked to the service option, which is not part of the product service list.

    • A product service definition is created for each underlying service definition linked to the default services of the specified service option that is active and included by default.

  • If the payload specifies a serviceOptionCode and serviceCode:

    • For the products in the status approved, review, or test, set the product status back to edit.

    • Adds the product service if the specified service is not part of the product service list.

    • Adds the parent service option if the service option is not part of the product service option list.

    • A product service definition is created for each underlying service definition linked to the specified service that is active and included by default.

  • If the payload specifies a serviceOptionCode, serviceCode, and serviceDefinitionCode:

    • For the products in the status approved, review, or test, set the product status back to edit.

    • For the specified service definition, a product service definition is added to each product on the product list, resulting in one product service definition for each product.

Product Service Definition Properties

This integration point also allows users to set default values while adding multiple product service definitions by passing the values in the payload defined in the following section. Sending a value enables this operation to automatically set the same value for all the newly added product service definitions.

The marked indicator is set to true for all the service definitions created using this IP.

Mandatory Properties

When sending a request to create product service definitions, the following properties are required:

  • A product list contains a minimum of one product code in the list.

  • Any of the following:

    • Service option code

    • Service option code and service code

    • Service option code, service code, and service definition code

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.

Conditions

  • A parameter alias usage list is defined only if a regime is defined in the payload.

    • Cover withhold categories that overlap with the specified 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.

  • Authorization missing is only specified if the coverage regime code is specified in the payload.

  • If the start date is not defined, the product start date is used while adding product service definitions to a product.

By default, the authorization missing flag is set to false for the product service definitions of type coverage.

Parameter Aliases

Cover Withhold Categories

When a product service definition with a regime of type coverage is created, a parameter alias usage for the product service definition is also created (without reference to a parameter alias and with reference to the cover withhold category) for each cover withhold category that:

  • Have an intersection with the specified regime.

  • With the type not set to null.

  • Is not already part of the parameter alias usage list in the request payload.

Limits

The parameter alias usages with the limit related to the accumulation option is additionally included when:

  • An accumulation option is part of a product service definition’s selected accumulation option list.

    • It 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.

Request

To add product service definitions, send the following post request with the payload:

POST http://[hostName]:[portNumber]/[api-context-root]/addproductservicedefinitions

Payload:

{
	"productList": [
		{
			"productCode": "<code>"
		}
	],
	"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" : ""
                }
        }
	]
}

Response

The operation returns the following response:

Success

A successful operation returns the HTTP status code 200 OK.

Failure

If an error occurs, the operation returns an appropriate HTTP status code. See Response Messages for more information.

The following error messages that are specific to this integration point may contain in the response messages:

Table 1. Failure
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 regime

PRD-IP-PSVD-026

Fatal

Cover withhold category {code} cannot be parameterized for the \{regime 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

Product service option code not defined

PRD-IP-PSVD-030

Fatal

Product service code is required when defining product service definition code

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

Furthermore, response may contain functional business rule messages and standard messages related to dynamic fields and records. See Response Messages for more information.

Authorization

A user authorization configuration requires access to this service. The relevant access restriction is Add Product Service Definitions IP.