private Dictionary <long, string> getSummaries(IAggregationFunction aggFunc) { calc = new PatientAnalytics(); Dictionary <long, string> summaries = new Dictionary <long, string>(); foreach (var kvp in patientData) { summaries[kvp.Key] = calc.calculateSummary(kvp, aggFunc); } return(summaries); }
public string calculateSummary(KeyValuePair <long, List <QuestionnaireResponse> > kvp, IAggregationFunction func) { //TODO get aggregation settings/formula from DB //for now use (sum delta last and second last > x) var QRs = kvp.Value; if (QRs == null || !QRs.Any()) { return("no forms"); } string summary = func.aggregate(QRs).ToString(); return(summary); }
public Aggregation(IAggregationFunction function, IMissingValueStrategy missingValue, IEmptySeriesStrategy emptySeries) => (Function, MissingValues, EmptySeries) = (function, missingValue, emptySeries);