Jump to content


Photo

Handling non detectable plasma samples


  • Please log in to reply
2 replies to this topic

#1 Davidq8

Davidq8

    Advanced Member

  • Members
  • PipPipPip
  • 57 posts

Posted 16 April 2023 - 09:00 PM

Hello, I'm working on a population Pk model for a drug with active metabolite "simultaneous fitting."

The parent drug has a shorter half-life than the active metabolite.

Plasma concentrations of the parent and active metabolite took up to 72 hours after a single oral dose.

We have several samples of the parent drug where the LC/MS did not detect the drug. For example, samples taken 12, 36, 72 hours after dosing were not detected in some subjects.

My question is how we should handle this because VPC shows a misfitting.

Can we model the parent drug "simultaneously fitting" with fewer plasma samples, for example, up to 36 hours after dosing and the parent up to 72 hours? “How can we instruct the software not to use these time points for the parent drug where the drug was not detected?

I've attached a section of the data set to demonstrate the problem.

Note: All samples as LLOQ were added to the dataset with actual values. Not coded as BQL. 

 

Attached Thumbnails

  • Picture13.png


#2 Simon Davis

Simon Davis

    Advanced Member

  • Administrators
  • 1,318 posts

Posted 17 April 2023 - 04:26 PM

I think the BQL rule could well help, can you perhaps share your current model code ?  Simon.



#3 Davidq8

Davidq8

    Advanced Member

  • Members
  • PipPipPip
  • 57 posts

Posted 17 April 2023 - 06:53 PM

Thanks, Simon, for the reply! 

Here is the model code:

 

test(){
deriv(A1 = (Aa * Ka)- (Cl2 * (CP - C2))- (CLPar2Met * CP))
deriv(Aa = - (Aa * Ka)- (Aa * K_preM))
deriv(A2 = (Cl2 * (CP - C2)))
deriv(A3 = (CLPar2Met * CP) + (Aa * K_preM)- (ClMet * CM)- (CLMP * (CM - C4)))
urinecpt(A0 = (ClMet * CM))
deriv(A4 = (CLMP * (CM - C4)))
CP = A1 / V
dosepoint(Aa, tlag = Tlag, duration = (D), idosevar = AaDose, infdosevar = AaInfDose, infratevar = AaInfRate)
C2 = A2 / V2
error(CEpsP = 0.15)
observe(CObsPar = CP * (1 + CEpsP))
CM = A3 / VMet
error(CEpsM = 0.15)
observe(CObsMet = CM + CEpsM * sqrt(1 + (CM)^2 * (MultStdevM/sigma())^2))
C4 = A4 / VMetP
stparm(V = tvV * exp(nV))
stparm(Ka = tvKa * exp(nKa))
stparm(V2 = tvV2 * exp(nV2))
stparm(Cl2 = tvCl2 * exp(nCl2))
stparm(VMet = tvVMet * exp(nVMet))
stparm(CLPar2Met = tvCLPar2Met * exp(nCLPar2Met))
stparm(K_preM = tvK_preM * exp(nK_preM))
stparm(ClMet = tvClMet * exp(nClMet))
stparm(VMetP = tvVMetP * exp(nVMetP))
stparm(CLMP = tvCLMP * exp(nCLMP))
stparm(D = tvD * exp(nD))
stparm(Tlag = tvTlag * exp(nTlag))
stparm(MultStdevM = tvMultStdevM)
fixef(tvV = c(, 2000000, ))
fixef(tvKa = c(, 1, ))
fixef(tvV2 = c(, 14000000, ))
fixef(tvCl2 = c(, 1900000, ))
fixef(tvVMet = c(, 879700.9, ))
fixef(tvCLPar2Met = c(, 1500000, ))
fixef(tvK_preM = c(, 0.72, ))
fixef(tvClMet = c(, 62000, ))
fixef(tvVMetP = c(, 847500, ))
fixef(tvCLMP = c(, 62000, ))
fixef(tvD = c(, 3, ))
fixef(tvTlag = c(, 0.4, ))
fixef(tvMultStdevM = c(, 1, ))
ranef(diag(nV, nKa, nV2, nCl2, nCLPar2Met, nVMet, nK_preM, nClMet, nCLMP, nVMetP, nTlag, nD) = c(0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1))
}





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users