public static void UpdateSisAScores(IFormsRepository formsRepo, int formResultId) { try { def_Forms frm = formsRepo.GetFormByIdentifier("SIS-A"); int standardScoreTotal = SharedScoring.UpdateSisScoresNoSave ( formsRepo, frm, formResultId, getSisASubscaleCatagories(), (int totalRawScore, double avgRawScore, SubscaleCatagory cat) => { return(GetSisASubscaleStandardScore(totalRawScore, cat)); }, (int totalRawScore, double avgRawScore, SubscaleCatagory cat) => { return(GetSisASubscalePercentile(totalRawScore, cat)); } ); //save standard scores to database int compositeIndex = GetSisASupportNeedsIndex(standardScoreTotal); int compositePercentile = GetSisASupportNeedsPercentile(standardScoreTotal); SharedScoring.UpdateScoreResponseNoSave(formsRepo, formResultId, "scr_support_needs_index", compositeIndex); SharedScoring.UpdateScoreResponseNoSave(formsRepo, formResultId, "scr_sni_percentile_rank", compositePercentile); formsRepo.Save(); } catch (Exception xcptn) { Debug.WriteLine("UpdateSisAScores exception: " + xcptn.Message); } }
public static void UpdateSisCScores(IFormsRepository formsRepo, int formResultId, int ageInYears) { def_Forms frm = formsRepo.GetFormByIdentifier("SIS-C"); SharedScoring.UpdateSisScoresNoSave ( formsRepo, frm, formResultId, getSisCSubscaleCatagories(), (int totalRawScore, double avgRawScore, SubscaleCatagory cat) => { return(GetSisCSubscaleStandardScore(avgRawScore, cat, ageInYears)); }, (int totalRawScore, double avgRawScore, SubscaleCatagory cat) => { return(GetSisCSubscalePercentile(avgRawScore, cat, ageInYears)); } ); def_ResponseVariables rv = formsRepo.GetResponseVariablesByFormResultIdentifier(formResultId, "scr_total_rating"); double totalRating = Convert.ToDouble(rv.rspValue); double meanRating = Math.Round(totalRating / 7, 2); //usd only for SIS-C reports //save standard scores to database double compositeIndex = GetSisCSupportNeedsIndex(meanRating, ageInYears); double compositePercentile = GetSisCSupportNeedsPercentile(meanRating, ageInYears); SharedScoring.UpdateScoreResponseNoSave(formsRepo, formResultId, "scr_support_needs_index", compositeIndex); SharedScoring.UpdateScoreResponseNoSave(formsRepo, formResultId, "scr_sni_percentile_rank", compositePercentile); formsRepo.Save(); }