Dissolution Profile Report - Calculation

Currently I'm working with creating a report for dissolution that has a profile (multiple time points) where I'm trying to calculate the % dissolved of my active. In my calculation, I have to use the previous calculation for the % dissolved for that same vessel. So, for example, for the second time point (let's say 30 minutes) for vessel-1 my % dissolved of my active is 84%, for the third time point (45 minutes) I need to use the 84% from the previous time point (second time point) and calculate my % dissolved for vessel-1 at the next time point (third time point). 
At this moment I can calculate the % dissolved for the vessels at different time points, but part of my calculation I have to call the previous result for that same vessel, so my problem is trying to call the previous result for that same vessel to be able to use it as part of the calculation for the next time point. 
If someone could please help me with this and if they can just provide an example of how it might be done.
Thank you.
  • Hello,

    Agilent has a dissolution report for CDS available, the link to a PowerPoint description is below. Since that is a paid solution, I cannot share the full details. I can share another solution I built that uses the same concept. This CCF allows the software to calculate the average RF for the current and previous calibration brackets. I created an index for the cal brackets in this case base on the A coefficient. I then use that index to allow me to obtain the results from the current and previous brackets. I would likely setup the same type of indexes in your case for the capsules and timepoints and use those to obtain the data I needed. You kind of already have these indexes in the sample names, so another option for you would be to split the sample name string, convert the values into integers, and store into 2 separate CCs. You could then use those CCs as I did the indexes. 

    Marty

    Name: InjectionCal Scope: Injection Type:Double

    CurrentInjection.AllIdentifiedPeaks.Select(function(x) x.CalibrationCurve.CalibrationCurve_A_Coefficient).Max()

    Name: CIndex Scope: Injection Type:Integer

    CurrentSequence.AllInjections.Where(function (x) x.Sample.Sample_Type = 1).OrderBy(function(x) x.Sample.Sample_OrderNumber).Select(function(x) x.GetDoubleCC("InjectionCAl")).Distinct.ToList.FindIndex(function(x) x=GetDoubleCC("InjectionCal"))+1

    Name: BracketAve Scope: PeakorGroup Type:Double

    CurrentSequence.AllIdentifiedPeaks.Where(function (x) x.Compound_Name = CurrentPeakorGroup.Compound_Name).Where(function(x) x.Injection.Sample.Sample_Type = 1).Where(function(x) x.Injection.GetIntegerCC("CIndex") = CurrentInjection.GetIntegerCC("CIndex") OR x.Injection.GetIntegerCC("CIndex") = CurrentInjection.GetIntegerCC("Cindex")-1).Select(function(x) x.Compound_ResponseFactor).Average()

    /cfs-file/__key/communityserver-discussions-components-files/26/3731.Dissolution_5F00_Overview_5F00_Update01.pptx

Was this helpful?