<?
/******************************************************
* system  : xxx リスク診断
* title   : 医療保険計算処理
* content : 保険評価に於ける医療保険関連の計算を行う
* version : 1.0
* author  : aizawa
*******************************************************/

// ■保険評価／医療保険データ計算
function calc_ir_hoken() {
	global $g_encode, $g_const, $g_sheets, $g_const_ir;

	$n = '医療保険';
	$g_sheets[$n] = array();
	$s = &$g_sheets;
	$c = &$g_sheets[$n];
	$h = &$g_sheets['生保'];

	// 定数
	$t = &$g_const_ir['医療保険評価重み'];
	$c['A33'] = $t['継続性'];
	$c['A34'] = $t['保険料支払負担'];
	$c['A35'] = $t['保障の範囲'];
	$c['A36'] = $t['給付の長さ'];
	$c['A80'] = $t['継続性'];
	$c['A81'] = $t['保険料支払負担'];
	$c['A82'] = $t['保障の範囲'];
	$c['A83'] = $t['給付の長さ'];

	$t = &$g_const_ir['支給開始日'];
	$c['O28'] = $g_encode['支給開始日']['1日目から'];
	$c['O29'] = $g_encode['支給開始日']['4泊5日以上'];
	$c['O30'] = $g_encode['支給開始日']['7泊8日以上'];
	$c['O31'] = $g_encode['支給開始日']['20日以上'];
	$c['P28'] = $t['1日目から'];
	$c['P29'] = $t['4泊5日以上'];
	$c['P30'] = $t['7泊8日以上'];
	$c['P31'] = $t['20日以上'];
	$c['O75'] = $g_encode['支給開始日']['1日目から'];
	$c['O76'] = $g_encode['支給開始日']['4泊5日以上'];
	$c['O77'] = $g_encode['支給開始日']['7泊8日以上'];
	$c['O78'] = $g_encode['支給開始日']['20日以上'];
	$c['P75'] = $t['1日目から'];
	$c['P76'] = $t['4泊5日以上'];
	$c['P77'] = $t['7泊8日以上'];
	$c['P78'] = $t['20日以上'];

	$t = &$g_const_ir['開始前期間分'];
	$c['O33'] = $g_encode['開始前期間分']['支給あり'];
	$c['O34'] = $g_encode['開始前期間分']['支給なし'];
	$c['P33'] = $t['支給あり'];
	$c['P34'] = $t['支給なし'];
	$c['O80'] = $g_encode['開始前期間分']['支給あり'];
	$c['O81'] = $g_encode['開始前期間分']['支給なし'];
	$c['P80'] = $t['支給あり'];
	$c['P81'] = $t['支給なし'];

	$t = &$g_const_ir['特定疾病定数'];
	$c['P37'] = $t;
	$c['P84'] = $t;

	// 本人
	for ($i = 1; $i <= $h['D5']; $i++) {
		$c['D5'][$i] = $h['D7'][$i];
//#		$c['D6'][$i] = $h['D8'][$i];
//#		$c['D7'][$i] = $h['D9'][$i];
//#		$c['D8'][$i] = $h['D10'][$i];
//#		$c['D9'][$i] = $h['D11'][$i];
		$c['D10'][$i] = $h['D12'][$i];
		$c['D11'][$i] = $h['D13'][$i];
		$c['D12'][$i] = $h['D14'][$i];
		$c['D14'][$i] = $h['D64'][$i];
		$c['D15'][$i] = $h['D65'][$i];
		$c['D16'][$i] = $h['D66'][$i];
		$c['D17'][$i] = $h['D67'][$i];
		$c['D19'][$i] = $h['D50'][$i];
		$c['D20'][$i] = $h['D51'][$i];
		$c['D21'][$i] = $h['D52'][$i];
		$c['D22'][$i] = $h['D53'][$i];
		$c['D23'][$i] = $h['D54'][$i];
		$c['D24'][$i] = $h['D55'][$i];
		$c['D26'][$i] = $h['D57'][$i];
		$c['D27'][$i] = $h['D58'][$i];
		$c['D29'][$i] = $h['D60'][$i];
		$c['D30'][$i] = $h['D61'][$i];
		$c['D31'][$i] = $h['D62'][$i];

		$c['E5'][$i] = $h['D7'][$i];
//#		$c['E6'][$i] = $h['D8'][$i];
//#		$c['E7'][$i] = $h['D9'][$i];
//#		$c['E8'][$i] = $h['D10'][$i];
//#		$c['E9'][$i] = $h['D11'][$i];
		$c['E10'][$i] = $h['D12'][$i];
		$c['E11'][$i] = $h['D13'][$i];
		$c['E12'][$i] = $h['D14'][$i];
		$c['E14'][$i] = $h['D84'][$i];
		$c['E15'][$i] = $h['D85'][$i];
		$c['E16'][$i] = $h['D86'][$i];
		$c['E17'][$i] = $h['D87'][$i];
		$c['E19'][$i] = $h['D70'][$i];
		$c['E20'][$i] = $h['D71'][$i];
		$c['E21'][$i] = $h['D72'][$i];
		$c['E22'][$i] = $h['D73'][$i];
		$c['E23'][$i] = $h['D74'][$i];
		$c['E24'][$i] = $h['D75'][$i];
		$c['E26'][$i] = $h['D77'][$i];
		$c['E27'][$i] = $h['D78'][$i];
		$c['E29'][$i] = $h['D80'][$i];
		$c['E30'][$i] = $h['D81'][$i];
		$c['E31'][$i] = $h['D82'][$i];
		$c['D33'][$i] = VB_IF($c['D19'][$i] + $c['D20'][$i] + $c['D21'][$i] + $c['D22'][$i] + $c['D26'][$i] + $c['D27'][$i] == 0, 0, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 80, $c['D16'][$i]) + VB_IF(VB_AND($c['D11'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['D12'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0)));
		$c['D34'][$i] = VB_IF($c['D19'][$i] + $c['D20'][$i] + $c['D21'][$i] + $c['D22'][$i] + $c['D26'][$i] + $c['D27'][$i] == 0, 0, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['D17'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['D17'][$i] - 60) / 2)), VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['D15'][$i] + $c['D10'][$i], $c['D16'][$i])));
		$c['D35'][$i] = VB_IF(VB_SUM($n, 'D19:D22') > 0, MIN(100, VB_VLOOKUP($n, $c['D30'][$i], 'O33:P34', 2, FALSE) + VB_VLOOKUP($n, $c['D29'][$i], 'O28:P31', 2, FALSE)), VB_IF($c['D23'][$i] + $c['D24'][$i] > 0, $c['P37'], 0));
		$c['D36'][$i] = VB_IF($c['D19'][$i] + $c['D20'][$i] + $c['D21'][$i] + $c['D22'][$i] + $c['D26'][$i] + $c['D27'][$i] == 0, 0, VB_IF($c['D5'][$i] == 0, 0, VB_IF($c['D31'][$i] >= 60, MIN(100, $c['D31'][$i] / 6 + 70), $c['D31'][$i] + 20)));
		$c['D37'][$i] = VB_SUM3($n, 'D33:D36', 'A33:A36', $i);
		$c['D41'][$i] = ROUND($c['D33'][$i] / 10, 0) / 2;
		$c['D42'][$i] = ROUND($c['D34'][$i] / 10, 0) / 2;
		$c['D43'][$i] = ROUND($c['D35'][$i] / 10, 0) / 2;
		$c['D44'][$i] = ROUND($c['D36'][$i] / 10, 0) / 2;
		$c['D45'][$i] = ROUND($c['D37'][$i] / 10, 0) / 2;
		$c['E33'][$i] = VB_IF($c['E19'][$i] + $c['E20'][$i] + $c['E21'][$i] + $c['E22'][$i] + $c['E26'][$i] + $c['E27'][$i] == 0, 0, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 80, $c['E16'][$i]) + VB_IF(VB_AND($c['E11'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['E12'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0)));
		$c['E34'][$i] = VB_IF($c['E19'][$i] + $c['E20'][$i] + $c['E21'][$i] + $c['E22'][$i] + $c['E26'][$i] + $c['E27'][$i] == 0, 0, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['E17'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['E17'][$i] - 60) / 2)), VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['E15'][$i] + $c['E10'][$i], $c['E16'][$i])));
		$c['E35'][$i] = VB_IF(VB_SUM($n, 'E19:E22') > 0, MIN(100, VB_VLOOKUP($n, $c['E30'][$i], 'O33:P34', 2, FALSE) + VB_VLOOKUP($n, $c['E29'][$i], 'O28:P31', 2, FALSE)), VB_IF($c['E23'][$i] + $c['E24'][$i] > 0, $c['P37'], 0));
		$c['E36'][$i] = VB_IF($c['E19'][$i] + $c['E20'][$i] + $c['E21'][$i] + $c['E22'][$i] + $c['E26'][$i] + $c['E27'][$i] == 0, 0, VB_IF($c['E5'][$i] == 0, 0, VB_IF($c['E31'][$i] >= 60, MIN(100, $c['E31'][$i] / 6 + 70), $c['E31'][$i] + 20)));
		$c['E37'][$i] = VB_SUM3($n, 'E33:E36', 'A33:A36', $i);
		$c['E41'][$i] = ROUND($c['E33'][$i] / 10, 0) / 2;
		$c['E42'][$i] = ROUND($c['E34'][$i] / 10, 0) / 2;
		$c['E43'][$i] = ROUND($c['E35'][$i] / 10, 0) / 2;
		$c['E44'][$i] = ROUND($c['E36'][$i] / 10, 0) / 2;
		$c['E45'][$i] = ROUND($c['E37'][$i] / 10, 0) / 2;
	}

	// 配偶者
	for ($i = 1; $i <= $h['D139']; $i++) {
		$c['D52'][$i] = $h['D141'][$i];
//#		$c['D53'][$i] = $h['D142'][$i];
//#		$c['D54'][$i] = $h['D143'][$i];
//#		$c['D55'][$i] = $h['D144'][$i];
//#		$c['D56'][$i] = $h['D145'][$i];
		$c['D57'][$i] = $h['D146'][$i];
		$c['D58'][$i] = $h['D147'][$i];
		$c['D59'][$i] = $h['D148'][$i];
		$c['D61'][$i] = $h['D193'][$i][1];
		$c['D62'][$i] = $h['D193'][$i][2];
		$c['D63'][$i] = $h['D193'][$i][3];
		$c['D64'][$i] = $h['D193'][$i][4];
		$c['D66'][$i] = $h['D180'][$i];
		$c['D67'][$i] = $h['D181'][$i];
		$c['D68'][$i] = $h['D182'][$i];
		$c['D69'][$i] = $h['D183'][$i];
		$c['D70'][$i] = $h['D184'][$i];
		$c['D71'][$i] = $h['D185'][$i];
		$c['D73'][$i] = $h['D187'][$i];
		$c['D74'][$i] = $h['D188'][$i];
		$c['D76'][$i] = $h['D190'][$i];
		$c['D77'][$i] = $h['D191'][$i];
		$c['D78'][$i] = $h['D192'][$i];

		$c['E52'][$i] = $h['D141'][$i];
//#		$c['E53'][$i] = $h['D142'][$i];
//#		$c['E54'][$i] = $h['D143'][$i];
//#		$c['E55'][$i] = $h['D144'][$i];
//#		$c['E56'][$i] = $h['D145'][$i];
		$c['E57'][$i] = $h['D146'][$i];
		$c['E58'][$i] = $h['D147'][$i];
		$c['E59'][$i] = $h['D148'][$i];
		$c['E61'][$i] = $h['D208'][$i];
		$c['E62'][$i] = $h['D209'][$i];
		$c['E63'][$i] = $h['D210'][$i];
		$c['E64'][$i] = $h['D211'][$i];
		$c['E66'][$i] = $h['D194'][$i];
		$c['E67'][$i] = $h['D195'][$i];
		$c['E68'][$i] = $h['D196'][$i];
		$c['E69'][$i] = $h['D197'][$i];
		$c['E70'][$i] = $h['D198'][$i];
		$c['E71'][$i] = $h['D199'][$i];
		$c['E73'][$i] = $h['D201'][$i];
		$c['E74'][$i] = $h['D202'][$i];
		$c['E76'][$i] = $h['D204'][$i];
		$c['E77'][$i] = $h['D205'][$i];
		$c['E78'][$i] = $h['D206'][$i];
		$c['D80'][$i] = VB_IF($c['D66'][$i] + $c['D67'][$i] + $c['D68'][$i] + $c['D69'][$i] + $c['D73'][$i] + $c['D74'][$i] == 0, 0, VB_IF($c['D61'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['D61'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 80, $c['D63'][$i]) + VB_IF(VB_AND($c['D58'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['D59'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0)));
		$c['D81'][$i] = VB_IF($c['D66'][$i] + $c['D67'][$i] + $c['D68'][$i] + $c['D69'][$i] + $c['D73'][$i] + $c['D74'][$i] == 0, 0, VB_IF($c['D61'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['D64'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['D64'][$i] - 60) / 2)), VB_IF($c['D61'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['D62'][$i] + $c['D57'][$i], $c['D63'][$i])));
		$c['D82'][$i] = VB_IF(VB_SUM($n, 'D66:D69') > 0, MIN(100, VB_VLOOKUP($n, $c['D77'][$i], 'O80:P81', 2, FALSE) + VB_VLOOKUP($n, $c['D76'][$i], 'O75:P78', 2, FALSE)), VB_IF($c['D70'][$i] + $c['D71'][$i] > 0, $c['P84'], 0));
		$c['D83'][$i] = VB_IF($c['D66'][$i] + $c['D67'][$i] + $c['D68'][$i] + $c['D69'][$i] + $c['D73'][$i] + $c['D74'][$i] == 0, 0, VB_IF($c['D52'][$i] == 0, 0, VB_IF($c['D78'][$i] >= 60, MIN(100, $c['D78'][$i] / 6 + 70), $c['D78'][$i] + 20)));
		$c['D84'][$i] = VB_SUM3($n, 'D80:D83', 'A80:A83', $i);
		$c['D88'][$i] = ROUND($c['D80'][$i] / 10, 0) / 2;
		$c['D89'][$i] = ROUND($c['D81'][$i] / 10, 0) / 2;
		$c['D90'][$i] = ROUND($c['D82'][$i] / 10, 0) / 2;
		$c['D91'][$i] = ROUND($c['D83'][$i] / 10, 0) / 2;
		$c['D92'][$i] = ROUND($c['D84'][$i] / 10, 0) / 2;
		$c['E80'][$i] = VB_IF($c['E66'][$i] + $c['E67'][$i] + $c['E68'][$i] + $c['E69'][$i] + $c['E73'][$i] + $c['E74'][$i] == 0, 0, VB_IF($c['E61'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['E61'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 80, $c['E63'][$i]) + VB_IF(VB_AND($c['E58'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['E59'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0)));
		$c['E81'][$i] = VB_IF($c['E66'][$i] + $c['E67'][$i] + $c['E68'][$i] + $c['E69'][$i] + $c['E73'][$i] + $c['E74'][$i] == 0, 0, VB_IF($c['E61'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['E64'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['E64'][$i] - 60) / 2)), VB_IF($c['E61'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['E62'][$i] + $c['E57'][$i], $c['E63'][$i])));
		$c['E82'][$i] = VB_IF(VB_SUM($n, 'E66:E69') > 0, MIN(100, VB_VLOOKUP($n, $c['E77'][$i], 'O80:P81', 2, FALSE) + VB_VLOOKUP($n, $c['E76'][$i], 'O75:P78', 2, FALSE)), VB_IF($c['E70'][$i] + $c['E71'][$i] > 0, $c['P84'], 0));
		$c['E83'][$i] = VB_IF($c['E66'][$i] + $c['E67'][$i] + $c['E68'][$i] + $c['E69'][$i] + $c['E73'][$i] + $c['E74'][$i] == 0, 0, VB_IF($c['E52'][$i] == 0, 0, VB_IF($c['E78'][$i] >= 60, MIN(100, $c['E78'][$i] / 6 + 70), $c['E78'][$i] + 20)));
		$c['E84'][$i] = VB_SUM3($n, 'E80:E83', 'A80:A83', $i);
		$c['E88'][$i] = ROUND($c['E80'][$i] / 10, 0) / 2;
		$c['E89'][$i] = ROUND($c['E81'][$i] / 10, 0) / 2;
		$c['E90'][$i] = ROUND($c['E82'][$i] / 10, 0) / 2;
		$c['E91'][$i] = ROUND($c['E83'][$i] / 10, 0) / 2;
		$c['E92'][$i] = ROUND($c['E84'][$i] / 10, 0) / 2;
	}
}
?>