amer
☆

Australia,
2019-09-09 05:04

Posting: # 20555
Views: 1,697

## predicting in vivo PK profiles from in vitro data after establishing IVIVC [Dissolution / BCS / IVIVC]

I have conducted IVIVC analysis using the IVIVC for R package, all good!

Now that I have estabished IVIVC levy plots (and regression equation); how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)

For the new dissolution data (not used to establish ivivc), i can calulate the predicted fraction absorbed using the regression equation from the constructed IVIVC. But then, how can i predict the in vivo plasma Pk profile from the predicted fraction absorbed? does the ivivc for R package do that? how? what is the r-script that i can use.

I am using R studio.

Thanks,
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-09 10:46

@ amer
Posting: # 20556
Views: 1,511

## external predictability for ivivc

Hi amer,

» I have conducted IVIVC analysis using the IVIVC for R package, all good!

Great to hear that.

» ... how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)

If you also had the in-vivo data together with the new dissolution data, would the external predict­ability be the answer for your question? You can select external of 'predictability for ivivc model:' from GUI and then choose the dataset file (03 dataset files (*.csv) for ext. predictability) to run analysis.

However, as far as I can remember, the external predictability (or validation) is not what US-FDA recommended. Usually the internal is recommended.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
amer
☆

Australia,
2019-09-10 02:31

@ yjlee168
Posting: # 20568
Views: 1,481

## external predictability for ivivc

Hi Lee,

» » ... how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)
»
» If you also had the in-vivo data together with the new dissolution data, would the external predict­ability be the answer for your question? You can select external of 'predictability for ivivc model:' from GUI and then choose the dataset file (03 dataset files (*.csv) for ext. predictability) to run analysis.

However, i didnt actually mean external validation. What i meant is this: I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution (i.e. does ivivc for R does convulution where the input is the dissolution data and we want to predict the output which is plasma concentration profile?).

» However, as far as I can remember, the external predictability (or validation) is not what US-FDA recommended. Usually the internal is recommended.

Thanks for the info.
on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
Helmut
★★★

Vienna, Austria,
2019-09-10 10:58

@ amer
Posting: # 20571
Views: 1,453

## identical pH

Hi amer,

» I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution…

Dissolution at pH 2 is rather unusual. Recall the definition: pH = –log10[H+], where [H+] is the of the H+ ion. Hence, at pH 2 you have 10–2/10–1.2 ~ 6.31× lower activity of H+ than at pH 1.2. Whether this is relevant, depends on the pKa of the drug. However, it might lead to wrong conclusions.

Valid predictions based on IVIVC require dissolution at identical pH values. Repeat the exercise at pH 1.2.

Cheers,
Helmut Schütz

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-10 15:30

@ Helmut
Posting: # 20577
Views: 1,415

## identical pH

Dear Helmut,

» ... Valid predictions based on IVIVC require dissolution at identical pH values. Repeat the exercise at pH 1.2.

I had the same though as yours before. Then I think the new pH dissolution profile seems possible to predict in-vivo conc. That's because once the iv-vitro and in-vivo correlation is established, FRD (fraction dissolved; from dissolution profile) obtained from a new pH media can be used to estimate Fab (Fraction absorbed) from established ivivc. So it becomes possible to predict in-vivo conc. with known kel and Vd from the previous Wagner-Nelson method. All calculation steps are part of model validation in ivivc for R.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-10 15:13
(edited by yjlee168 on 2019-09-10 15:36)

@ amer
Posting: # 20576
Views: 1,450

## R scripts/codes for in-vivo conc.

Hi amer,

» ... However, i didnt actually mean external validation. What i meant is this: I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution (i.e. does ivivc for R does convulution where the input is the dissolution data and we want to predict the output which is plasma concentration profile?).

I see. But it is still part of model validation. I prepare the codes (R script) mainly pulled from ivivc for R. The following steps are required to run the codes (amer.R).
1. Run ivivc first and get Levy plots. Take a note about the slope and intercept of Levy plots. You will need that later. This step will also generate PK parameters saved in a file called pk_values.rds in working path. You will need this file too.
2. prepare your dataset as csv format with 4 columns named as "pH","subj","time","FRD". Then save this dataset file as csv format in R working path (getwd() to know where it is).
3. copy the the following codes and paste it with plain editor. Now, you can update Slope, Intercept,dose of MR, and your dataset file name (red-inked parts in the codes). Save it in your R working path.
4. open R console/terminal. type source("amer.R") to run the codes, supposed the codes are saved as amer.R. Go to your R working path to find a file called predicted_in-vivo_dataset.csv. Done.
### amer.R     Slope<- 0.939     ### from levy plots; change the value if necessary Intercept<- 10.6      ### from levy plot; change the value if necessary      Dose<- 200000    ### dose of MR administered; change the value if necessary                       ### the unit of 'Dose' may need to be converted, depending                       ### unit of conc. and Vd. keindex<- readRDS("pk_values.rds")   ### load kel & Vd from previous Wagner-Nelson method cnames<- c("pH","subj","time","FRD") InVVTestindex<- load.csv.data("your_dataset.csv",cnames)   ### pls change the file name. W.data<- data.frame(pH=InVVTestindex$pH,subj=InVVTestindex$subj, time=InVVTestindex$time,FRD=InVVTestindex$FRD) W.split<- split(W.data,list(W.data$pH,W.data$subj)) pH<- 0  ### not used at all. PredCp<- NULL time<- NULL for (j in 1:length(W.split)){ PFab<- 0 PCp<- 0 for(x in 1: length(unique(keindex$subj))) { if (W.split[[j]][["subj"]][1]==keindex$subj[[x]]) {      ke<- keindex$ke[[x]];Vd<- keindex$Vd[[x]]}}   ### load kel, Vd from previous Wagner-Nelson   for(i in 2:length(W.split[[j]][["FRD"]])){       PFab[i]<-(W.split[[j]][["FRD"]][i])*Slope + Intercept}  ### calc predicted Fab   for(i in 2:length(W.split[[j]][["time"]]))       PCp[i]<-((PCp[i-1]*(2-((W.split[[j]][["time"]][i]-W.split[[j]][["time"]][i-1])*ke))+(2*(PFab[i]-PFab[i-1])*1/100*Dose/Vd))/(2+(ke*(W.split[[j]][["time"]][i]-W.split[[j]][["time"]][i-1])))) ### PCp[i] = predicted in-vivo conc.      time[[j]]<- c(W.split[[j]][["time"]])      PredCp[[j]]<- c(PCp) } CC<- reshape2::melt(PredCp) DD<- reshape2::melt(time) Predvivo<- data.frame(subj=InVVTestindex$subj,time=DD$value,conc.pred=CC\$value) write.csv(Predvivo,"predicted_in-vivo_dataset.csv",row.names=FALSE) cat("\nDone.\n\n") ### done.

I don't know if this is what you want. Let me know you still have question about running the codes. I have tested the codes and it works well.

» on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)

Not validated with WLN. Should I? I do not have WLN. If you have WNL, can you help to validate?

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Helmut
★★★

Vienna, Austria,
2019-09-10 15:37

@ yjlee168
Posting: # 20578
Views: 1,415

## Software validation, another round

Hi Yung-jin and amer,

» » on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
»
» Not validated with WLN. Should I? I do not have WLN. If you have WNL, can you help to validate?

Since the source code of ivivc for R is accessible, one can perform a validation. Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species. Commercial software like the ‘IVIVC Toolkit’ of Phoenix can only be validated. If you want to perform cross-validation that would require a couple of reference datasets and hope for the same outcome.

@Yung-jin: Though Certara granted me with a ‘named license’ of Phoenix’ ‘IVIVC Toolkit’, I never used it so far. Furthermore, my experience with ivivc for R are zero.

Cheers,
Helmut Schütz

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
mittyri
★★

Russia,
2019-09-10 15:54

@ Helmut
Posting: # 20579
Views: 1,405

## Deconvolution

Hi Helmut,

» If you want to perform cross-validation that would require a couple of reference datasets and hope for the same outcome.

the probability is close to nil due to a nightmare called deconvolution...

Kind regards,
Mittyri
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-11 10:29

@ Helmut
Posting: # 20582
Views: 1,349

## Software validation, another round

Dear Helmut,

» ... Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species....

Indeed. So I don't think I am qualified to do that... Thanks God.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Helmut
★★★

Vienna, Austria,
2019-09-11 13:39

@ yjlee168
Posting: # 20583
Views: 1,331

## Software validation, another round

Hi Yung-jin,

» » ... Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species....
»
» Indeed. So I don't think I am qualified to do that... Thanks God.

I’m always a little bit skeptic when one tries to validate own code (including f**ing expensive “validation packs” sold by vendors of commercial software). Hence, we have to find another one. Cross-validation would do.

Cheers,
Helmut Schütz

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
amer
☆

Australia,
2019-09-12 05:26

@ Helmut
Posting: # 20590
Views: 1,297

## Software validation, another round

» I’m always a little bit skeptic when one tries to validate own code (including f**ing expensive “validation packs” sold by vendors of commercial software). Hence, we have to find another one. Cross-validation would do.

I may be able to validate wagner-nelson in ivivc for R (assumes 1-comp model) with numerical deconvolution/convolution using RIVIVC package (no asumption about model structure) but there isn't enough hours in the day. will do at some stage.

suggestion: the ivivc for R can be updated to do numerical deconvolution/convolution option because what if the disposition is not 1 comp, then wanger-nelson is limited.
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-12 09:46

@ amer
Posting: # 20591
Views: 1,272

## Should we also consider to validate the validation?

Hi amer,

» I may be able to validate wagner-nelson in ivivc for R (assumes 1-comp model) with numerical deconvolution/convolution using RIVIVC package...

Right. It's really a great idea. Software validation is indeed a must and a good thing absolutely. However, I was wondering: should you validate RIVIVC package first? Supposed RIVIVC passes the validation, then should we use RIVIVC to validate Wagner-Nelson (implemented in ivivc for R)? To me, it sounds like using an apple to validate an orange. This report may provide a good start or some ideas. Finally, since the software validation (either the black box or the white box) largely replies on computer and human calculation processes, should we also consider how to validate software validation procedures too in the future?

» suggestion: the ivivc for R can be updated to do numerical deconvolution/convolution option because what if the disposition is not 1 comp, then wanger-nelson is limited.

It has been in my to-do list for a long time. I apologize about the delay. Anyway, this is a great idea too.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Helmut
★★★

Vienna, Austria,
2019-09-13 12:07

@ yjlee168
Posting: # 20592
Views: 1,207

## Who inspects the inspectors?

Hi Yung-jin,

» […] should we also consider how to validate software validation procedures too in the future?

You know what means.
See my example of “almost error-free software” at the end of this post. Out of reach for us.

Cheers,
Helmut Schütz

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
nobody
nothing

2019-09-13 12:55

@ Helmut
Posting: # 20593
Views: 1,207

## Who inspects the inspectors?

Quis custodiet ipsos custodes?

...this problem is not really new.

Kindest regards, nobody
Helmut
★★★

Vienna, Austria,
2019-09-13 12:59

@ nobody
Posting: # 20594
Views: 1,199

## Sapienti sat

» Quis custodiet ipsos custodes?

Oller  Schwede  Lateiner.

For the ones who don’t know Latin (mine is extremely rusty):

Cheers,
Helmut Schütz

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
amer
☆

Australia,
2019-09-11 05:35

@ yjlee168
Posting: # 20580
Views: 1,363

## R scripts/codes for in-vivo conc.

Hi Lee,

» I don't know if this is what you want. Let me know you still have question about running the codes. I have tested the codes and it works well.

Thanks very much. Yes, it is;however, i don't see the oral bioavailability term in the [PCp] equation in the R-code provided. Shouldn't that include bioavailability when doing convolution? Does it assume, in its current for, that the bioavailability is 100%?

» » on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
»
» Not validated with WLN. Should I? I do not have WLN. If you have WNL, can you help to validate?

Cheers,
yjlee168
★★

Kaohsiung, Taiwan,
2019-09-11 10:16

@ amer
Posting: # 20581
Views: 1,348

## Bioavailabity term in predicted in-vivo conc.

Hi amer,

Nice question. Oral bioavailability term (F) has been presented as predicted Fab (PFab, predicted fraction absorbed, %) obtained from ivivc model (Levy plots) in the equation of Pcp. Here is the ref.: M Gohel, RR Delvadia, DC Parikh, et. al., Simplified Mathematical Approach for Back Calculation in Wagner-Nelson Method. See equation (1.5).

» ... however, i don't see the oral bioavailability term in the [PCp] equation in the R-code provided. Shouldn't that include bioavailability when doing convolution? Does it assume, in its current for, that the bioavailability is 100%?

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear