jag009 ★★★ NJ, 2013-04-02 23:11 (4424 d 23:45 ago) Posting: # 10332 Views: 11,468 |
|
Hi all, It's a dumb question but I might as well ask.. According to the FDA progesterone guidance, the 3-sequences for a 3-way partial replicate study (TRR) is: TRR RTR RRT I was reviewing an old study report and found out that the CRO chose the following sequences for a 3-way partial rep study; A=Test, B=Ref. I dont know why they did this ![]() BAB (RTR) ABB (TRR) BBA (RRT) Question. Would scale average BE (SCABE) computation in SAS yield different results if the period and sequence identifier for Ref1 and Ref2 are messed up (ie: CRO inadvertently used the FDA sequences for stats but used their own sequences for dosing)? Why I ask? See below... I set up my SAS code as per FDA's example and assigned what is Ref1 and Ref2 as per CRO's BAB, ABB, BBA randomization sequences. I compared my PROC GLM SAS output for dlat to that generated by CROs and the outcome was different. The results for SCABE (theta, sWR, Critbound, Ratio) did not match those generated by the CRO. Now comes the interesting part. When I set up my code as per FDA, exactly AS IS, meaning even the sequence and period assignment for Ref1 and Ref2 (meaning following TRR, RTR, RRT instead of CRO's BAB, ABB, BBA), I ended up getting the same SCABE results (theta, sWR, Critbound, Ratio) as the CRO's. ![]() ![]() Thanks John Edit: Category changed. [Helmut] |
Helmut ★★★ ![]() ![]() Vienna, Austria, 2013-04-03 15:42 (4424 d 07:14 ago) @ jag009 Posting: # 10333 Views: 9,754 |
|
Hi John! ❝ According to the FDA progesterone guidance, the 3-sequences for a 3-way partial replicate study (TRR) is: ❝ TRR ❝ RTR ❝ RRT ❝ […] the CRO chose the following sequences for a 3-way partial rep study; A=Test, B=Ref. A=Test, B=Ref. I dont know why they did this ❝ BAB (RTR) ❝ ABB (TRR) ❝ BBA (RRT) Are you trying to confuse me? The sequences are the same; the order is irrelevant. Are you not happy with the “A” and “B”? Such a coding would also work: hocus pocus pocus pocus hocus pocus pocus pocus hocus I guess the sequences were randomized. By chance it might be that the first three subjects had sequences TRR|TRR|TRR. As long as you had ⅓ of subjects allocated to each of the three sequences no problem. ❝ Would scale average BE (SCABE) computation in SAS yield different results if the period and sequence identifier for Ref1 and Ref2 are messed up (ie: CRO inadvertently used the FDA sequences for stats but used their own sequences for dosing)? Duno what you mean by “FDA sequences”. Of course any administration different from the randomization used in the evaluation would screw up everything. Imagine you have a 2×2×2 cross-over in two (!) subjects. They were dosed (1) RT and (2) TR. Now you assume the sequences were TR and RT. What will you get? ![]() Can you post the sequences of e.g., the first twelve subjects? — Dif-tor heh smusma 🖖🏼 Довге життя Україна! ![]() Helmut Schütz ![]() The quality of responses received is directly proportional to the quality of the question asked. 🚮 Science Quotes |
jag009 ★★★ NJ, 2013-04-03 18:06 (4424 d 04:50 ago) @ Helmut Posting: # 10335 Views: 9,860 |
|
Hi Helmut, What I was trying to say is: FDA guidance shows: Sequence 1=TRR Sequence 2=RTR Sequence 3=RRT CRO used the following: Sequence 1=BAB (RTR) Sequence 2=ABB (TRR) Sequence 3=BBA (RRT) When you look at the SAS code from the Progesterone guidance for 3-way partial replicate. The section where you generate 3 datasets, 1 for test, 1 for ref1 and 1 for ref2. Dataset containing TEST observations: data test; set pk; if trt='T'; latt=lauct; run; Dataset containing REFERENCE 1 observations: data ref1; set ref; * if (seq=1 and per=2) or (seq=2 and per=1) or (seq=3 and per=1); * lat1r=lauct; run; Dataset containing REFERENCE 2 observations: data ref2; set ref; * if (seq=1 and per=3) or (seq=2 and per=3) or (seq=3 and per=2); * lat2r=lauct; run; See the if statements in astericks? Those statements should be written according to the way the sequences were set up (i.e., the aboves were written based on how FDA set up the sequences meaning Sequence 1 = TRR, Sequence 2 = RTR, Sequence 3 = RRT). My suspicion is that the CRO failed to update those statements according to the way they set up their sequences but instead they used the FDA codes (if statements) above. How did I find out? I used the above codes AS IS with the CRO data and I ended up with the same SCABE results. However, when I set up the if statements the way they are supposed to be as per CRO's sequences (Sequence 1 = BAB, Sequence 2 = ABB, Sequence 3 = BBA) then the results were different. As I go further down the SAS code, the PROC GLM analysis for dlat (below). Would incorrect sequence assignment leads to different results (Perhaps d_labes or ElMaestro can help since they use SAS?) Intermediate analysis - dlat proc glm data=scavbe; class seq; model dlat=seq; ods output overallanova=dglm1; ods output NObs=dglm3; title1 'scaled average BE'; run; Can I post the data up (of course no labels)? 72 subjects though. Just Cmax. I hope I am wrong but I can't confirm so need a 2nd pair of hands. ![]() Thanks John |
Helmut ★★★ ![]() ![]() Vienna, Austria, 2013-04-03 23:49 (4423 d 23:07 ago) @ jag009 Posting: # 10336 Views: 9,730 |
|
Hi John! ❝ My suspicion is that the CRO failed to update those statements according to the way they set up their sequences but instead they used the FDA codes (if statements) above. Wonderful. Personally I never code sequences with numbers but characters instead. The code is much easier to check. Pseudocode: R1: (seq='TRR' ∧ per=2) ∨ (seq='RTR' ∧ per=1) ∨ (seq='RRT' ∧ per=1) ❝ Can I post the data up (of course no labels)? 72 subjects though. Just Cmax. Sure. Separate columns by single blanks. Columns (any order you like): subject, sequence, period, treatment, Cmax. If you want to do me a favor code sequences with three character strings (not 1, 2, 3). — Dif-tor heh smusma 🖖🏼 Довге життя Україна! ![]() Helmut Schütz ![]() The quality of responses received is directly proportional to the quality of the question asked. 🚮 Science Quotes |
jag009 ★★★ NJ, 2013-04-04 01:01 (4423 d 21:55 ago) @ Helmut Posting: # 10337 Views: 9,971 |
|
Thanks Helmut. Hope this is the way you wanted (space delimited). I swapped the Sequence# 1,2,3 as A,B,C. Therefore sequence A=BAB (or RTR), B=ABB (or TRR), C=BBA (or RRT). A=Test, B=Reference. The columns are Subject, Period, Drug, Sequence, LnCmax. There are two missing values "."
1 1 B B 7.423568444 Thanks John Edit: Table sorted by subject and period. [Helmut] |
Helmut ★★★ ![]() ![]() Vienna, Austria, 2013-04-04 01:22 (4423 d 21:34 ago) @ jag009 Posting: # 10338 Views: 9,692 |
|
Hi John! ❝ Hope this is the way you wanted (space delimited). Not quite but I think I can handle that. ❝ I swapped the Sequence# 1,2,3 as A,B,C. Therefore sequence A=BAB (or RTR), B=ABB (or TRR), C=BBA (or RRT). A=Test, B=Reference. The columns are Subject, Period, Drug, Sequence, LnCmax. There are two missing values "." Your coding somehow still matches the post’s subject line.* 1 1 B B 7.423568444 B B ? Is that the reference twice? Oh no, it codes for treatment R in the 3rd column and sequence TRR in the 4th …For clarity – and substituting treatments A→T, B→R and sequences A→RTR, B→TRR, C→RRT – I would have coded somefink like: 1 1 R TRR 7.423568444 With such a code you do not need to look at the head of the table in order to understand what is going on in each row. Much easier for error snooping … … but hey, 1 1 R TRR 7.423568444 → R is not in period 11 2 T TRR 7.70210434 → T is not in period 21 3 R TRR 6.964135612 → OK, R is in period 3Can you check please? If I trust the sequences more and recode treatment according to period, e.g., 1 1 T TRR 7.423568444 I got in Phoenix 6.3: pointest 0.86899272 (passes; within [0.8, 1.25])sWR 0.45854843 (≥0.294; perform RSABE. CVWR 48.37%)critbound -0.092689149 (≤0: passes RSABE)
— Dif-tor heh smusma 🖖🏼 Довге життя Україна! ![]() Helmut Schütz ![]() The quality of responses received is directly proportional to the quality of the question asked. 🚮 Science Quotes |
jag009 ★★★ NJ, 2013-04-04 17:59 (4423 d 04:57 ago) @ Helmut Posting: # 10345 Views: 9,686 |
|
Hi Helmut, Sorry for the typos. Here is the dataset again. I coded the sequence and treatments as they are (A,B). BAB is sequence 1, ABB is sequence 2, BBA is sequence 3. Subject, period, treatment, sequence, lnCmax. (see my next message). Thanks John 1 1 B BAB 7.42357 |
jag009 ★★★ NJ, 2013-04-04 19:21 (4423 d 03:34 ago) (edited on 2013-04-04 22:15) @ Helmut Posting: # 10346 Views: 9,656 |
|
Helmut, here is the issue with Dlat analysis between mine and CRO's. The 2 GLM procedure output are different but the Ratio, 95% Upper Bound, SwRs are ok. ![]() My output. scaled average BE - analysis of dlat for ln(Cmax) CRO output scaled average BE - analysis of dlat for ln(Cmax) |
Helmut ★★★ ![]() ![]() Vienna, Austria, 2013-04-05 03:01 (4422 d 19:55 ago) @ jag009 Posting: # 10348 Views: 9,486 |
|
Hi John, ❝ The 2 GLM procedure output are different but the Ratio, 95% Upper Bound, SwRs are ok. OK, lacking ![]() ![]() I updated treatments and sequences in my Phoenix project (i.e., kept the full precision of your first dataset) and got: pointest 1.5084845 sWR 0.40266645 (CVWR 41.96%)critbound 0.15460335 Bad luck. Reformulate since in the unscaled analysis the lower 90% CL of 134.02% > 125.00% – demonstrating bioinequivalence. I would opt for your analysis. Like you I got an estimate for dlat of -0.17633358 and a residual SS of 21.402516 . However, these values are not further used (only the residual variance 0.32428054 ).— Dif-tor heh smusma 🖖🏼 Довге життя Україна! ![]() Helmut Schütz ![]() The quality of responses received is directly proportional to the quality of the question asked. 🚮 Science Quotes |
jag009 ★★★ NJ, 2013-04-05 17:24 (4422 d 05:32 ago) @ Helmut Posting: # 10353 Views: 9,466 |
|
Hi Helmut! ❝ Bad luck. Reformulate since in the unscaled analysis the lower 90% CL of 134.02% > 125.00% – demonstrating bioinequivalence. Yes the study was a dud ![]() So my computation is correct then ![]() I still don't understand why they didn't use the FDA sequence as is (1=TRR, 2=RTR, 3=RRT) instead of using their own (1=BAB, 2=ABB, 3=BBA). Oh well. Thank v much for your help. John P.S. Did you have a good time with my professor laszlo Endrenyi during your last seminar/conference? Great guy. |
d_labes ★★★ Berlin, Germany, 2013-04-05 13:04 (4422 d 09:52 ago) @ jag009 Posting: # 10349 Views: 9,556 |
|
Dear John! I have checked your results with a different coding approach avoiding all the bells and whistles with separating the values for Test and Ref., coding sequences numeric and getting the replicates by such monsters like ... which depend naturally on the sequence numbering and is error prone. Here my code, taking your first posted data: Data John; Output omitted. It is totally the same as your results ![]() Fortunately the mse's (=2*s2wR) are the same in both evaluations. You can obtain the results of the CRO if you uncomment the statement in red above. It seems that the use of the progesterone code without considering the different numbering of the sequences has lead to such a calculation. By luck this contrast doesn't change the mse because nobody will challenge you defining R-R as R2-R1 instead of the usual R1-R2. The ANOVA for T-R (ilat in the progesterone guidance speak) is left as your homework ![]() BTW: 4th opinion: An R implementation using the same spirit as the SAS code above gives Analysis of Variance Table — Regards, Detlew |
jag009 ★★★ NJ, 2013-04-05 17:41 (4422 d 05:15 ago) @ d_labes Posting: # 10354 Views: 9,438 |
|
Thank you SAS Guru ![]() Glad to know that I am not the insane one. I can do the Ilat part of the code ![]() Question... ❝ RR=R1-R2; ❝ * uncomment next line to get the CRO results; ❝ * if seq=2 then RR=-RR; ❝ You can obtain the results of the CRO if you uncomment the statement in red above. It seems that the use of the progesterone code without considering the different numbering of the sequences has lead to such a calculation. ❝ By luck this contrast doesn't change the mse because nobody will challenge you defining R-R as R2-R1 instead of the usual R1-R2. The CRO's sequence assignment(I added the subscripts 1&2 here just for clarity): #1=B1AB2 #2=AB1B2 #3=B1B2A Why swap RR as -RR for sequence 2 if the logistic seems to indicate B1 is the 1st value and B2 is the 2nd value? It's 9AM here in US so I am not zipping EtOH. Granted that the study was a dud and the outcome was not affected by that additional line of code in the SAS code... Thanks John |
d_labes ★★★ Berlin, Germany, 2013-04-05 18:09 (4422 d 04:47 ago) @ jag009 Posting: # 10356 Views: 9,396 |
|
Dear John! ❝ Why swap RR as -RR for sequence 2 if the logistic seems to indicate B1 is the 1st value and B2 is the 2nd value? It's 9AM here in US so I am not zipping EtOH. No no. I'm nor suggesting any swap. The correct way is using R1-R2. I only had in mind to give you a hint where the differences came from. Just leaving for an evening beer. Thank god it's friday. Have a nice day. — Regards, Detlew |
jag009 ★★★ NJ, 2013-04-05 19:18 (4422 d 03:38 ago) @ d_labes Posting: # 10357 Views: 9,425 |
|
Hi Detlew, ❝ No no. I'm nor suggesting any swap. The correct way is using R1-R2. I only had in mind to give you a hint where the differences came from. Thanks for the detective work. Too bad I can't talk to the CRO to find out the real story... Yeah it's about 5 hr from now before our Absinthe gathering here, just kidding ![]() John |