private void setSingleDosingPKValues(ICache <string, double> pk, PKInterval interval) { setCmaxAndTmax(pk, interval, Constants.PKParameters.C_max, Constants.PKParameters.Tmax); setValue(pk, Constants.PKParameters.C_tEnd, interval, x => x.CTrough); setValueAndNormalize(pk, Constants.PKParameters.AUC_tEnd, interval, x => x.AucTend); setValueAndNormalize(pk, Constants.PKParameters.AUC_inf, interval, x => x.AucInf); setValue(pk, Constants.PKParameters.Thalf, interval, x => x.Thalf); setValue(pk, Constants.PKParameters.MRT, interval, x => x.Mrt); setValue(pk, Constants.PKParameters.FractionAucEndToInf, interval, x => x.FractionAucEndToInf); setValue(pk, Constants.PKParameters.CL, interval, x => x.CL); setValue(pk, Constants.PKParameters.Vss, interval, x => x.Vss); setValue(pk, Constants.PKParameters.Vd, interval, x => x.Vd); }
private IReadOnlyList <PKInterval> allStandardIntervalsFor(List <float> time, List <float> concentration, PKCalculationOptions options) { var fullRange = new PKInterval(time, concentration, options, drugMassPerBodyWeight: options.TotalDrugMassPerBodyWeight); //only one interval, return the full range if (options.SingleDosing) { return new[] { fullRange } } ; //Two or more intervals var intervals = new[] { pkIntervalFromDosingInterval(options.FirstInterval, time, concentration, options), pkIntervalFromDosingInterval(options.LastMinusOneInterval, time, concentration, options), pkIntervalFromDosingInterval(options.LastInterval, time, concentration, options), fullRange }; return(intervals.Where(x => x != null).ToList()); }
private void setValue(ICache <string, double> pk, string parameterName, PKInterval pkInterval, Func <PKInterval, double> valueFunc) { setValue(pk, parameterName, valueFunc(pkInterval)); }
private void setValueAndNormalize(ICache <string, double> pk, string parameterName, PKInterval pkInterval, Func <PKInterval, double> valueFunc) { setValue(pk, parameterName, pkInterval, valueFunc); pk[Constants.PKParameters.NormalizedName(parameterName)] = pkInterval.NormalizeValue(valueFunc); }
private void setCmaxAndTmax(ICache <string, double> pk, PKInterval interval, string cmaxName, string tMaxName) { setValueAndNormalize(pk, cmaxName, interval, x => x.Cmax); setValue(pk, tMaxName, interval, x => x.Tmax); }