Configuring multicurrency and reinsurance

PolicyCenter attaches a reinsurance program to a risk in a policy if the total insured value/sum insured (TIV/SI) for that risk has the same currency as the risk. In the base configuration, the TIV/SI currency is the currency associated with the jurisdiction of the risk. Through configuration, you can modify how PolicyCenter chooses the TIV/SI currency.

The reinsurance currency is independent of the coverage and settlement currencies. In the base configuration, PolicyCenter sets the reinsurance currency to the currency specified for the coverable’s jurisdiction in the ReinsuranceConfigPlugin plugin. This plugin implements the IReinsuranceConfigPlugin plugin interface. The plugin calculates the TIV/SI based on the coverage currency. If the coverage currency differs from the reinsurance currency, the plugin converts the TIV/SI to the reinsurance currency. The Reinsurable object stores the TIV/SI (TotalInsuredValue) and reinsurance currency (ReinsuranceCurrency). The Reinsurable is then used to create the reinsurable risk (RIRisk) objects. If an appropriate reinsurance program is available, PolicyCenter attaches the program to the reinsurable risk. The program has the same currency as the reinsurable risk.

In the ReinsuranceConfigPlugin plugin, the getReinsuranceCurrency method returns the currency that the RIRisk uses for TIV/SI. To change how PolicyCenter selects the reinsurance currency, you can override this method.

The input parameter to the getReinsuranceCurrency method is a list of all the coverages associated with a single ReinsurableCoverable. The PolicyPeriodBaseEnhancement Gosu class calls this method when creating Reinsurables. In the base configuration, the method gets the jurisdiction specified in the Coverable.CoverableState property and looks up the currency associated with that jurisdiction. That mapping is returned by the RegionCurrencyMappingUtil class and configured through the Country, Jurisdiction, State, and Currency typelists.

The reinsurance program and reinsurance contract entities, RIProgram and RIAgreement respectively, delegate to the reinsurance contract entity, RIContract. The RIContract entity has a non-nullable currency property, Currency, that the RIProgram and RIAgreement entities implement. The program and agreements associated with the program must have the same currency.

When PolicyCenter attaches an RIProgram or an RIAgreement to an RIRisk, the Currency properties must match.

The Premium Ceding batch process runs and calls the PCCedingCalculator class to process premium transactions. This class does the conversion from the reinsurance currency to the settlement currency.

See also