# --- Ktools constants --------------------------------------------------------- #
[docs]
DEDUCTIBLE_AND_LIMIT_CALCRULE_ID = 1
[docs]
FRANCHISE_DEDUCTIBLE_AND_LIMIT_CALCRULE_ID = 3
[docs]
DEDUCTIBLE_ONLY_CALCRULE_ID = 12
[docs]
DEDUCTIBLE_LIMIT_AND_SHARE_CALCRULE_ID = 2
[docs]
DEDUCTIBLE_AND_LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRUKE_ID = 5
[docs]
DEDUCTIBLE_WITH_LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRUKE_ID = 9
[docs]
LIMIT_ONLY_CALCRULE_ID = 14
[docs]
LIMIT_AS_A_PROPORTION_OF_LOSS_CALCRULE_ID = 15
[docs]
DEDUCTIBLE_AS_A_PROPORTION_OF_LOSS_CALCRULE_ID = 16
[docs]
CALCRULE_ID_DEDUCTIBLE_AND_LIMIT = 1
[docs]
CALCRULE_ID_DEDUCTIBLE_ATTACHMENT_LIMIT_AND_SHARE = 2
[docs]
CALCRULE_ID_FRANCHISE_DEDUCTIBLE_AND_LIMIT = 3
[docs]
CALCRULE_ID_DEDUCTIBLE_AND_LIMIT_PERCENT_TIV = 4
[docs]
CALCRULE_ID_DEDUCTIBLE_AND_LIMIT_PERCENT_LOSS = 5
[docs]
CALCRULE_ID_DEDUCTIBLE_PERCENT_TIV = 6
[docs]
CALCRULE_ID_LIMIT_AND_MAX_DEDUCTIBLE = 7
[docs]
CALCRULE_ID_LIMIT_AND_MIN_DEDUCTIBLE = 8
[docs]
CALCRULE_ID_LIMIT_WITH_DEDUCTIBLE_PERCENT_LIMIT = 9
[docs]
CALCRULE_ID_MAX_DEDUCTIBLE = 10
[docs]
CALCRULE_ID_MIN_DEDUCTIBLE = 11
[docs]
CALCRULE_ID_DEDUCTIBLE_ONLY = 12
[docs]
CALCRULE_ID_MAIN_AND_MAX_DEDUCTIBLE = 13
[docs]
CALCRULE_ID_LIMIT_ONLY = 14
[docs]
CALCRULE_ID_LIMIT_PERCENT_LOSS = 15
[docs]
CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS = 16
[docs]
CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS_ATTACHMENT_LIMIT_AND_SHARE = 17
[docs]
CALCRULE_ID_DEDUCTIBLE_PERCENT_TIV_ATTACHMENT_LIMIT_AND_SHARE = 18
[docs]
CALCRULE_ID_DEDUCTIBLE_PERCENT_LOSS_WITH_MIN_AND_MAX = 19
[docs]
CALCRULE_ID_REVERSE_FRANCHISE_DEDUCTIBLE = 20
[docs]
CALCRULE_ID_SHARE_AND_LIMIT = 21
[docs]
CALCRULE_ID_QUOTA_SHARE = 22
[docs]
CALCRULE_ID_OCCURRENCE_LIMIT_AND_SHARE = 23
[docs]
CALCRULE_ID_OCCURRENCE_CATASTROPHE_EXCESS_OF_LOSS = 24
[docs]
CALCRULE_ID_FACULTATIVE_WITH_POLICY_SHARE = 25
[docs]
NO_ALLOCATION_ALLOC_ID = 0
[docs]
ALLOCATE_TO_ITEMS_BY_GUL_ALLOC_ID = 1
[docs]
ALLOCATE_TO_ITEMS_BY_PREVIOUS_LEVEL_ALLOC_ID = 2
[docs]
BUILDING_COVERAGE_TYPE_ID = 1
[docs]
OTHER_BUILDING_COVERAGE_TYPE_ID = 2
[docs]
CONTENTS_COVERAGE_TYPE_ID = 3
[docs]
TIME_COVERAGE_TYPE_ID = 4
[docs]
COVERAGE_TYPES = [
BUILDING_COVERAGE_TYPE_ID,
OTHER_BUILDING_COVERAGE_TYPE_ID,
CONTENTS_COVERAGE_TYPE_ID,
TIME_COVERAGE_TYPE_ID]
[docs]
LARGE_VALUE = 9999999999999
# --- OED constants --------------------------------------------------------- #
[docs]
RI_INFO_REQUIRED_COLS = [
'ReinsNumber',
'PlacedPercent',
'InuringPriority',
'ReinsType',
'RiskLevel',
'ReinsCurrency'
]
[docs]
RI_SCOPE_REQUIRED_COLS = {
'ReinsNumber',
}
[docs]
RI_INFO_DTYPES = {
'ReinsNumber': "int",
'CededPercent': "float",
'RiskLimit': "float",
'RiskAttachment': "float",
'OccLimit': "float",
'OccAttachment': "float",
'InuringPriority': "int",
'ReinsType': "str",
'RiskLevel': "str",
'PlacedPercent': "float",
'TreatyShare': "float",
'ReinsCurrency': 'str'
}
[docs]
RI_SCOPE_DTYPES = {
'ReinsNumber': "int",
'PortNumber': "str",
'AccNumber': "str",
'LocGroup': "str",
'PolNumber': "str",
'LocNumber': "str",
'CedantName': "str",
'ProducerName': "str",
'LOB': "str",
'CountryCode': "str",
'ReinsTag': "str",
'CededPercent': "float"
}
[docs]
PASSTHROUGH_NODE_TYPE = 1
[docs]
REINS_TYPE_QUOTA_SHARE = "QS"
[docs]
REINS_TYPE_SURPLUS_SHARE = "SS"
[docs]
REINS_TYPE_PER_RISK = "PR"
[docs]
REINS_TYPE_CAT_XL = "CXL"
[docs]
REINS_TYPE_AGG_XL = "AXL"
[docs]
REINS_TYPES = [
REINS_TYPE_FAC,
REINS_TYPE_QUOTA_SHARE,
REINS_TYPE_SURPLUS_SHARE,
REINS_TYPE_PER_RISK,
REINS_TYPE_CAT_XL
]
[docs]
REINS_RISK_LEVEL_PORTFOLIO = "SEL"
[docs]
REINS_RISK_LEVEL_LOCATION = "LOC"
[docs]
REINS_RISK_LEVEL_LOCATION_GROUP = "LGR"
[docs]
REINS_RISK_LEVEL_POLICY = "POL"
[docs]
REINS_RISK_LEVEL_ACCOUNT = "ACC"
[docs]
REINS_RISK_LEVELS = [
REINS_RISK_LEVEL_LOCATION,
REINS_RISK_LEVEL_LOCATION_GROUP,
REINS_RISK_LEVEL_POLICY,
REINS_RISK_LEVEL_ACCOUNT,
REINS_RISK_LEVEL_PORTFOLIO,
]
[docs]
SUPPORTED_RISK_LEVELS = {
REINS_TYPE_FAC: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT],
REINS_TYPE_SURPLUS_SHARE: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT],
REINS_TYPE_PER_RISK: [REINS_RISK_LEVEL_LOCATION, REINS_RISK_LEVEL_LOCATION_GROUP, REINS_RISK_LEVEL_POLICY, REINS_RISK_LEVEL_ACCOUNT],
REINS_TYPE_CAT_XL: [REINS_RISK_LEVEL_PORTFOLIO],
REINS_TYPE_QUOTA_SHARE: REINS_RISK_LEVELS
}
# Subset of the fields that are currently used
[docs]
OED_ACCOUNT_FIELDS = [
'PortNumber',
'AccNumber',
'PolNumber',
'AccPeril',
'AccDed6All',
'AccLimit6All'
]
[docs]
OED_LOCATION_FIELDS = [
'AccNumber',
'LocGroup',
'LocNumber',
'LocDed6All',
'LocLimit6All',
'BuildingTIV',
'OtherTIV',
'ContentsTIV',
'BITIV'
]
[docs]
OED_REINS_INFO_FIELDS = [
'ReinsNumber',
'CededPercent',
'RiskLimit',
'RiskAttachment',
'OccLimit',
'OccAttachment',
'InuringPriority',
'ReinsType',
'RiskLevel',
'PlacedPercent',
'TreatyShare',
'ReinsCurrency',
]
[docs]
OED_REINS_SCOPE_FIELDS = [
'ReinsNumber',
'PortNumber',
'AccNumber',
'PolNumber',
'LocGroup',
'LocNumber',
'CedantName',
'ProducerName',
'LOB',
'CountryCode',
'ReinsTag',
'CededPercent'
]