
Au modèle cinétique choisi dans le Block SUBROUTINE, correspond un certain nombre de paramètre cinétique qui doivent être listé dans ce Block.
paramètres PK classiques, variabilité inter-individuelle et inter-occasion,
coding alternatif, paramètre additionne (S), opérateurs logiques,
paramètres contraints (entre 0 et 1) et option EXIT.
Au minimum chaque paramètre cinétique est exprimé comme suit (modèle à 1 compartiment, absorption de 1er ordre):
CL = THETA(1)
V = THETA(2)
KA = THETA(3)
Theta(1), theta(2), theta(3) sont des variables dont les valeurs initiales (données dans le Block Theta) seront utilisés par l'algorythme pour trouver les valeurs estimées de CL, V et KA.
Des covariables peuvent être utilisées pour essayer d'expliquer la variabilité inter-individuelle des paramètres cinétiques.
Ex : Clairance = f(poids) s'écrit pour une fonction linéaire
CL = THETA(1) + THETA(2) * AGE
Rq : les noms des covariables utilisées doivent avoir au maximum 4 caractères!
A chaque paramètre une variabilité inter-individuelle peut être estimées. Cette variabilité peut prendre le forme de plusieurs modèles d'erreur.
1. Additive
2. Proportionnelle
3. Mixte
Dans le cas d'un modèle d'erreur additif portant sur les 3 paramètres, l'exemple devient:
CL = THETA(1) + ETA(1)
V = THETA(2) + ETA(2)
KA = THETA(3) + ETA(3)
Dans le cas d'un modèle d'erreur proportionnel portant sur les mêmes 3 paramètres, l'exemple devient:
CL = THETA(1) * EXP(ETA(1))
V = THETA(2) * EXP(ETA(2))
KA = THETA(3) * EXP(ETA(3))
Si des covariables sont utilisées, il peut être plus lisible de découper en 2 lignes:
TVCL = THETA(1) + THETA(2) * AGE
CL = TVCL * EXP(ETA(1))
...
A chaque paramètre cinétique, il est possible d'estimer une variabilité inter-occasion (IOV).
Imaginons une étude où les patients se présentent à 2 reprises. Une colonne OCC prenant la valeur 0 ou 1 permet dans la base de données de discerner les 2 périodes.
OCC2 = 1 - OCC
CL = THETA(1) * EXP(ETA(1) + ETA(2) * OCC + ETA(3)*OCC2)
ETA(1) est la variabilité inter-individuelle à quoi se rajoute la variabilité inter-occasion ETA(2) ou ETA(3) selon la période.
Dans le Block Omega, il faut entre les valeurs initiales de ces 3 ETAs, en sachant que ETA(2) et ETA(3) ont une même variabilité (ex. 30% de CV) mais pas forcement la même valeur ce qui est précisé par la commande 'SAME'.
$OMEGA 1.2
$OMEGA BLOCK(1) 0.5
$OMEGA BLOCK(1) SAME
Dans les résultats, ETA(2) et ETA(3) seront identiques (seul ETA(2) sera donné) et correspondent à l'IOV. Par contre, les IPRED seront différents.
Avec ADVAN1 et TRANS1, on peut coder
CL = THETA(1)
K = THETA(2)
V = CL/K
S1 = V
Sinon avec TRANS2:
CL = THETA(1)
V = THETA(2)
K=CL/V
S1 = V
Les quantités prédites dans les compartiments sont divisées par ces paramètres pour obtenir des concentrations.
Ils ne sont nécessaires que pour les compartiments où des concentrations sont directement observées (+++).
Ainsi, avec ADVAN3, le paramètre S2 du compartiment périphérique ne nécessite pas d'être analysé.
Chaque paramètre d'échelle qui n'est pas modélisé, est assumé être égal à 1 (les valeurs prédites sont des quantités).
Mise à l'échelle par une constante connue:
ex. Dose en mg et concentration ng/ml
La quantité (mg) sera divisée par S pour obtenir les concentrations (ng/ml = µg/L = mg/1000 L), d'où S s'exprime en kLitres. Pour que V soit exprimé en L et non en kL il faut diviser V par 1000.
soit S = V / 1000
ex. Dose en mg et concentration mg/L
S = V
Mise à l'échelle par un paramètre:
Si les données proviennent de 2 essais différents, avec un biais systématique, il peut être nécessaire de le modéliser
S = V si essai 1,
S = hV si essai 2.
h peut être estimé.
D1: paramètre permettant d'estimer la durée d'absorption d'une administration devant un profil d'absorption d'ordre 0.
Voir également un exemple de base de données correspondante.
Exemple:
$PK
CL =THETA(1) * EXP(ETA(1))
V =THETA(2) * EXP(ETA(2))
D1 =THETA(3) * EXP(ETA(3))
Peut-être utilisé en alternatif à un modèle d'absorption de premier ordre.
.../...
AND et
OR or
NE non égal à
EQ égal à
LE inférieur ou égal (lower or equal than)
LT inférieur (lower than)
GE supérieur ou égal à (greater or equal than)
GT supérieur (greater than)
Ex :
IF (CREA.GT.30) THEN
TVCL=THETA(1)
ELSE TVCL=THETA(2)
ENDIF
Cette option oblige l'algorythme à abandonner une solution qui conduit à des valeurs spécifiées:
Exemple
IF (V1.GT.50) EXIT 1 100
IF (CL.GT.2) EXIT 2 200
Si l'algorythme passe par une valeur de V1 supérieure à 50, le message n°1 est envoyé, il s'agit du code 100
Le message suivant apparaît:
"PK SUBROUTINE: USER ERROR CODE = 100"
Cela permet d'identifier une erreur ou une difficulté de convergence.
Dans certaines situations nous avons besoin de contraindre un paramètre à être compris dans un intervalle de valeur.
Exemple:
un Emax doit être compris entre 0 et 100%
Une implémentation permet cette contrainte en prenant en compte la variabilité interindividuelle
si
LOGIT = THETA(1) + THETA(2)*WT + ETA(1)
ou si
LOGIT = THETA(1) + ETA(1)
IF (LOGIT.GT.100) LOGIT = 100.00
EMAX = EXP(LOGIT) / (1 + EXP(LOGIT))
Avec ce code, EMAX sera toujours entre 0 et 1 quelque soit la valeur d'ETA
Il n'est pas nécessaire de donner des limites à THETA
En revanche, il peut être utile de transformer THETA pour pouvoir l'interpréter:
THETAP(1) = EXP(THETA(1)) / (1 + EXP(THETA(1)))
ou ce qui est équivalent
THETAP(1) = 1 / (1 + EXP(-THETA(1)))