public IList <HazardPdfCdfHazardTriplet> Calculate(string populationGroup, int currentState) { var stateTransitionCodes = new List <string>(); var returnObject = new List <HazardPdfCdfHazardTriplet>(); Console.WriteLine("Calculating Transition:" + transitionCode); var observationList = hazardReader.GetData(populationGroup, dateFrom, dateTo, new Domain.Date.DateIncrement(DateIncrementTypes.Month, 1), transitionCode, currentState, 1); //var nelsonAalen = new KaplanMeier(observationList); //var nResult = nelsonAalen.GetSurvivalValueUpToPeriod(periods); var hazard = new Hazard(observationList); var hzd = hazard.GetHazardFunctionOverEachPeriod(); var pdf = hazard.GetPDF(); var cdf = hazard.SurvivalFunction(); returnObject.Add(new HazardPdfCdfHazardTriplet(pdf, cdf, hzd, dateFrom, transitionCode, populationGroup.ToString())); return(returnObject); }