Notes
Calculated : if([loc_dssub]='1', '99', if([memory] = '' OR [orient] = '' OR [judgment] = '' OR [commun] = '' OR [homehobb] = '' OR [perscare] = '', '', //calculate rare scenarios first, they supercede basic scoring //for a tie on one side, choose closest score to memory if( ([loc_b4_calc_ltmem]=4 or [loc_b4_calc_gtmem]=4) and sum(if([loc_b4_calc_eq05]=2,1,0), if([loc_b4_calc_eq1]=2,1,0), if([loc_b4_calc_eq2]=2,1,0), if([loc_b4_calc_eq3]=2,1,0), if([loc_b4_calc_eq0]=2,1,0))=2, if(min([loc_b4_calc_05diff], [loc_b4_calc_1diff], [loc_b4_calc_2diff])=[loc_b4_calc_05diff], '0.5', if(min([loc_b4_calc_05diff], [loc_b4_calc_1diff], [loc_b4_calc_2diff])=[loc_b4_calc_1diff], '1', if(min([loc_b4_calc_05diff], [loc_b4_calc_1diff], [loc_b4_calc_2diff])=[loc_b4_calc_2diff], '2', ''))), //When only one or two secondary categories are given the same score as M, CDR = M //as long as no more than two secondary categories are on either side of M. if(([loc_b4_calc_eqmem]=1 or [loc_b4_calc_eqmem]=2) and [loc_b4_calc_ltmem]<=2 and [loc_b4_calc_gtmem]<=2,[memory], //scenarios where 4 items gt or lt memory //these can only be a certain number of combinations, so handle these directly if([loc_b4_calc_gtmem]>=4 and [memory]=1 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq2], 2, if([loc_b4_calc_gtmem]>=4 and [memory]=1 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq3], 3, if([loc_b4_calc_ltmem]>=4 and [memory]=3 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq2], 2, if([loc_b4_calc_ltmem]>=4 and [memory]=3 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq1], 1, if([loc_b4_calc_ltmem]>=4 and [memory]=3 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq05], 0.5, if([loc_b4_calc_ltmem]>=4 and [memory]=2 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq1], 1, if([loc_b4_calc_ltmem]>=4 and [memory]=2 and max([loc_b4_calc_eq05], [loc_b4_calc_eq1], [loc_b4_calc_eq2], [loc_b4_calc_eq3], [loc_b4_calc_eq0])=[loc_b4_calc_eq05], 0.5, //basic scoring rules if([memory]=0 and [loc_b4_calc_gtmem]< 2, 0, if([memory]=0 and [loc_b4_calc_gtmem]>=2, 0.5, if([memory]=0.5 and [loc_b4_calc_gtmem]>=3, 1, if([memory]=0.5 and [loc_b4_calc_gtmem]< 3, 0.5, if([memory]>=1 and [loc_b4_calc_eqmem]>=3, [memory], if([memory]>=1 and [loc_b4_calc_ltmem]=3 and [loc_b4_calc_gtmem]=2 , [memory], if([memory]>=1 and [loc_b4_calc_ltmem]=2 and [loc_b4_calc_gtmem]=3 , [memory], //specific tie scenarios not captured yet if([memory]>=1 and [loc_b4_calc_gtmem]>=3 and [loc_b4_calc_ltmem] < 2 , [loc_b4_calc_othties], if([memory]>=1 and [loc_b4_calc_ltmem]>=3 and [loc_b4_calc_gtmem] < 2 , [loc_b4_calc_othties], if([memory]>=1, min(3, [loc_b4_calc_othties]), //if we see any 9999 or missing global scores we missed something! "")))))))))))))))))))))