<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
code{white-space: pre;}
Pius Dahinden, PhD, Manager Analytical Science, Tillotts Pharma
Astratto
Da quando la nuova linea guida GMP dell'UE (EudraLex Volume 4) Capitolo 6 (Controllo di qualità) è entrata in vigore nel 2014, l'esecuzione di un'analisi delle tendenze sui dati di stabilità del prodotto farmaceutico è un requisito aggiuntivo per il controllo di qualità analitica. Il gruppo di lavoro per il controllo della qualità analitica (AQCWG) della European Compliance Academy (ECA) ha elaborato una procedura operativa standard per la valutazione dei risultati fuori aspettativa (OOE) e fuori tendenza (OOT). Per la valutazione dei dati di stabilità si raccomanda di utilizzare la procedura della carta di controllo della regressione (RCC) per il confronto dei lotti correnti con i dati dei lotti storici. Tuttavia, le pendenze e/o le intercettazioni stimate dai dati storici dei lotti stessi sono soggette a incertezza. L'ECA AQCWG propone un metodo semplificato di regressione a coefficienti casuali (RCR) che ne tiene conto. Viene presentato uno script JMP di nuova concezione che implementa la procedura RCC/RCR consigliata. Lo script rende semplice l'identificazione dei punti OOE/OOT nei dati di stabilità e fornisce tutte le informazioni necessarie nell'output, unitamente ad un'opportuna visualizzazione grafica.
introduzione
I produttori applicano il controllo statistico del processo (SPC) per garantire la qualità degli articoli prodotti e per prevenire perdite finanziarie causate da processi di produzione fuori controllo. Controllo di processo significa che un processo in esecuzione viene regolarmente monitorato e che, se uno qualsiasi dei parametri monitorati dovesse presentare un andamento anomalo, vengono prese misure per riportare il processo sotto controllo. SPC è uno strumento che consente ai produttori di rilevare tempestivamente i cambiamenti in un processo, consentendo loro di indagare sui problemi che causano problemi e intraprendere azioni correttive in una fase iniziale. Un potente strumento per il monitoraggio dei processi è il metodo della carta di controllo, reso popolare da Shewhart [6]. La Figura 1 mostra la vista schematica di un tipico diagramma di controllo.
Contrariamente ai processi di produzione in cui non dovrebbe esserci tendenza, ci sono molti problemi di gestione dei dati con una tendenza intrinseca. Per l'analisi di problemi di gestione dei dati di questo tipo, il metodo della carta di controllo convenzionale è stato combinato con l'analisi di regressione, e questo approccio è stato chiamato "carta di controllo della regressione" (RCC) da Mandel [4]. Poiché il controllo limita l'utilizzo degli intervalli di tolleranza (TI) è ragionevole. Per monitorare i dati di stabilità dei prodotti farmaceutici conservati alle condizioni di stoccaggio raccomandate (ad es. 25 °C / 60% RH), gli RCC vengono utilizzati per monitorare, ad es., la degradazione del principio attivo farmaceutico o l'accumulo di impurità nel tempo, per supportare la data di scadenza del prodotto, vale a dire per confermare la stabilità del prodotto farmaceutico per la durata del periodo di validità indicato sull'etichetta.
Figure_1Figura 1
Figura 1 Composizione tipica della carta di controllo
Un grafico di controllo di solito mostra i valoriXXo una statistica di diversi valori (ad esempio la media) della caratteristica di qualità di un campione rispetto al numero del campione o al tempo. In generale, il grafico contiene una linea centrale che rappresenta il valore medioX¯\overset{\overline{}}{X}del processo sotto controllo. Un presupposto fondamentale è che i dati siano distribuiti normalmente. Due linee orizzontali caratteristiche aggiuntive sono i limiti di controllo inferiore e superiore (LCL e UCL, rispettivamente) a una distanza di ± 3 deviazioni standard (SD) dalla linea centrale in modo tale che, fintanto che il processo è sotto controllo, il 99,7% del i punti dati rientreranno in questi limiti a causa della variazione casuale che è indicata come variazione causa comune. Le linee a una distanza di ± 2 DS dalla linea centrale sono denominate limiti di allerta inferiore e superiore (LWL e UWL, rispettivamente) mentre le linee a una distanza di ± 1 SD dalla linea centrale non hanno un nome specifico. Con l'aiuto di queste linee una carta di controllo può essere suddivisa nelle zone da C ad A. Le regole per il rilevamento della variazione di causa speciale che caratterizza un processo non sotto controllo utilizzano le frequenze delle osservazioni in queste zone come base decisionale.
Procedure e Risultati
L'RCC applicato ai dati di stabilità di un prodotto farmaceutico mira a rispondere a due domande: 1) Il lotto corrente è fuori aspettativa (OOE) o fuori tendenza (OOT) in termini di lotti storici (vale a dire per quanto riguarda il TI derivato dai dati storici) e 2) è il punto dati misurato più di recente dell'attuale lotto OOE in termini di lotto corrente (vale a dire riguardo al suo intervallo di previsione (PI))?
Per la valutazione di una tendenza in termini della domanda 1 sono necessari almeno tre punti dati del batch corrente. Per la valutazione della domanda 2 sono necessari almeno quattro punti dati perché il punto dati misurato più di recente non dovrebbe essere utilizzato per la costruzione del PI.
Poiché è molto probabile che i singoli lotti storici varino rispetto alle loro intercettazioni e alle loro pendenze un modello ordinario dei minimi quadrati (pendenza comune – intercetta comune) potrebbe non essere significativo. Per questo motivo l'Analytical Quality Control Working Group (AQCWG) della European Compliance Academy (ECA) raccomanda di utilizzare il metodo della "regressione a coefficienti casuali" (RCR) che tiene conto della variabilità delle intercettazioni e delle pendenze dei singoli lotti [7]. Un modello RCR semplificato (modello Carter e Yang [1] modificato) contiene due parametri sconosciuti, ovvero l'intercettabeta1\beta_{1}e la pendenzabeta2\beta_{2}. Questa procedura è conforme alle linee guida dell'OMS [9] e dell'ICH [2].
Il termine OOT è stato definito dalla United Kingdom Medicines and Healthcare Products Regulatory Agency (MHRA) come un risultato del test di stabilità che non segue la tendenza prevista, sia rispetto ad altri lotti di stabilità che rispetto a risultati precedenti raccolti durante uno studio di stabilità [8]. Il termine OOS è stato definito dalla MHRA come un risultato del test che non è conforme ai criteri di accettazione predeterminati o un risultato del test che non rientra nei criteri di accettazione stabiliti che sono stati stabiliti nei compendi ufficiali e/o dalla documentazione aziendale [8 ]. Finora non esiste una definizione formale del termine OOE. L'ECA AQCWG propone (sia per i test qualitativi che quantitativi) di definire i risultati OOE come risultati anomali, inattesi o insoliti che non possono essere classificati come fuori specifica (OOS) o OOT [7].
Modello RCR
Il modello RCR semplificato può essere scritto come
𝐲ij=𝛃1io+𝛃2io•𝐭ij+𝛆ij\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
Dove𝐲io\mathbf{y}_{i}è unNio×1n_{i} \volte 1vettore che rappresenta iliothio^{\text{th}}lottoNion_{i}misurazioni ripetute (doveJ=1,⋯,Nioj = 1,\ \cpunti,\ n_{i}, conNion_{i}che rappresenta il numero totale di misurazioni ripetute del lottoioio) sulla variabile di risposta (ad es. dosaggio [%], somma delle impurità [%] o dissoluzione [%]),𝛃1io\mathbf{\beta}_{1i}E𝛃2io\mathbf{\beta}_{2i}sono vettori delle intercettazioni e delle pendenze specifiche del lotto, rispettivamente,𝐭io\mathbf{t}_{i}è iliothio^{\text{th}}vettore temporale del batch (ad es. [Mese]), e𝛆io\mathbf{\varepsilon}_{i}è unNio×1n_{i} \volte 1vettore diNion_{i}errori casuali. Un prerequisito per questo modello RCR è una relazione lineare tra la risposta e la variabile esplicativa. Se la relazione non dovesse essere lineare, è necessario applicare un'opportuna trasformazione prima di eseguire la modellazione RCR.
Si presume che ciascunoεij\varepsilon_{\text{ij}}proviene da una popolazione normale univariata con media zero, varianzaσ2\sigma^{2}, e tuttoεij\varepsilon_{\text{ij}}sono indipendenti l'uno dall'altro (indipendenza condizionale) e dai coefficienti del modellobeta1io\beta_{1i}Ebeta2io\beta_{2i}. Questa assunzione è ragionevole perché è altamente improbabile che la variabilità del metodo analitico dipenda dal lotto sottoposto a test o dal momento in cui viene eseguito il test. Si presume inoltre che il vettore del coefficiente di regressione di ogni batch,𝛃io\mathbf{\beta}_{i}, è indipendente dai loro vettori di errori casuali e da tutti gli altri batch,𝛆K\mathbf{\varepsilon}_{k}.
La modellazione RCR comprende tre fasi.
Passaggio a) Adattamento di un semplice modello di regressione lineare ai dati di ciascun batch
I dati associati al batchioiosono denotati da(Tij,siij)\left( t_{\text{ij}},y_{\text{ij}} \right), Dovesiijy_{\text{ij}}rappresenta iliothio^{\text{th}}la risposta misurata del batch al punto temporaleTJt_{j}, DoveJ=1,⋯,Nioj = 1,\ \cpunti,\ n_{i}. I singoli punti temporaliTJt_{j}può differire tra i batch, così come il numero totale di punti temporaliNion_{i}. La matrice progettuale𝐗io\mathbf{X}_{i}per lottoioiopuò essere scritto in forma matriciale come segue.
𝐗io=[1Tio1⋮⋮1TioNio]\mathbf{X}_{i} = \begin{bmatrix} 1 & t_{i1} \\ \vdots & \vdots \\ 1 & t_{in_{i}} \\ \end{bmatrix}
Questa matrice è normalizzata e designata da𝐌io\mathbf{M}_{i}.
𝐌io=(𝐗io′𝐗io)−1\mathbf{M}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}
Le stime per le intercettazionibetaio1\beta_{i1}, le pistebetaio2\beta_{i2}, l'"errore quadratico medio" della regressioneMSEio=σiosi^2\text{MSE}_{i} = \sigma_{i\hat{y}}^{2}, e i gradi di libertàdfio=(Nio−2)\text{df}_{i} = \left( n_{i} - 2 \right)Associato aMSEio\text{MSE}_{i}sono ottenuti adattando un semplice modello di regressione lineare ai dati di ciascun batch. Le intercettazioni e le pendenze(𝛃1,𝛃2)′\left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'}sono stimati da
𝐛io=(𝐗io′𝐗io)−1𝐗io′𝐲io\mathbf{b}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}\mathbf{X}_{ i}^{'}\mathbf{y}_{i}.
Passo b) Stima della matrice varianza-covarianza dell'errore
La stima della matrice di varianza-covarianza dell'errore dei coefficienti casuali inizia stimando il poolMSE\text{MSE}di tutti i lotti, ad esMSEpiscina\text{MSE}_{\text{piscina}}, come segue.
MSEpiscina=σ^2=∑io=1Ndfio•MSEio∑io=1Bdfio\text{MSE}_{\text{pool}} = {\hat{\sigma}}^{2} = \frac{\sum_{i = 1}^{n}{\text{df}_{i } \bullet \text{MSE}_{i}}}{\sum_{i = 1}^{B}\text{df}_{i}}
Il numeratore in questa equazione può essere espresso come segue.
dfio•MSEio=SEio=𝛆^io′𝛆^io=(𝐲io−𝐗io𝐛io)′(𝐲io−𝐗io𝐛io)\text{df}_{i} \bullet \text{MSE}_{i} = \text{SSE}_{i} = {\hat{\mathbf{\varepsilon}}}_{i}^{' }{\hat{\mathbf{\varepsilon}}}_{i} = \left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \ right)^{'}\left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \right)
La matrice varianza-covarianza campionaria𝐒bb\mathbf{S}_{\text{bb}}delle intercettazioni e delle pendenze stimate(𝛃1,𝛃2)′\left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'}viene calcolato come segue.
𝐒bb=1N−1∑io=1N(𝐛io−beta^ULS)(𝐛io−beta^ULS)′\mathbf{S}_{\text{bb}} = \frac{1}{n - 1}\sum_{i = 1}^{n}\left( \mathbf{b}_{i} - {\ hat{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^ {'}
Dovebeta^ULS=1N∑io=1N𝐛io{\hat{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i}, cioè il vettore medio dei coefficienti, cioè delle intercettazioni e delle pendenze (ULS sta per "Unweighted Least-Squares"). Ora, la matrice di varianza-covarianza𝚺^betabeta{\hat{\mathbf{\Sigma}}}_{\text{ββ}}può essere stimato come segue.
𝚺^betabeta=𝐒bb−σ^2N•∑io=1N(𝐗io′𝐗io)−1=𝐒bb−σ^2•𝐌¯=[σbeta12σbeta1beta2σbeta1beta2σbeta22]{\hat{\mathbf{\Sigma}}}_{\text{ββ}} = \mathbf{S}_{\text{bb}} - \frac{{\hat{\sigma}}^{2} }{n} \bullet \sum_{i = 1}^{n}\left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1} = \mathbf{S}_{\text{bb}} - {\hat{\sigma}}^{2} \bullet \overset{\overline{}}{\mathbf{M}} = \begin{bmatrix} \sigma_{\beta_{1}}^{2} & \sigma_{\beta_{1}\beta_{2}} \\ \sigma_{\beta_{1}\beta_{2}} & \sigma_{\beta_ {2}}^{2} \\ \end{bmatrice}
Dove𝐌¯=1N•∑io=1N𝐌io\overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i}, ovvero la matrice varianza-covarianza del modello medio. La varianza dell'erroreσ^2{\cappello{\sigma}}^{2}stima la varianza del metodo analitico. La componente di varianza dell'intercettaσbeta12\sigma_{\beta_{1}}^{2}rappresenta la varianza all'interno del lotto della risposta osservata al rilascio del prodotto dovuta esclusivamente al processo di fabbricazione, ovvero escludendo la varianza dovuta al metodo analitico. La componente della varianza della pendenzaσbeta22\sigma_{\beta_{2}}^{2}rappresenta la varianza tra i batch dei tassi di degradazione.
Poiché la matrice varianza-covarianza𝚺^betabeta{\hat{\mathbf{\Sigma}}}_{\text{ββ}}è stimato calcolando la differenza di due matrici, il risultato può non essere definito positivo, cioè la/e componente/i dell'intercetta e/o della varianza della pendenza possono essere negative. Un possibile rimedio a ciò è sostituire i valori negativi con 0. Questo è un semplice approccio di primo soccorso per le stime della varianza negativa ed equivale a convertire un effetto casuale in un effetto fisso. Nel caso in cui entrambe le varianze siano nulle il modello RCR corrisponde al modello dei minimi quadrati ordinari (OLS).
Passaggio c) Stima del vettore medio dei coefficienti mediante uno stimatore dei minimi quadrati ponderati (WLS).
La stima del vettore medio dei coefficienti inizia con il calcolo della stima di𝐖io\mathbf{W}_{i},
𝐖io=(𝚺^betabeta+σ^2•𝐌io)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf {M}_{i} \destra)^{- 1}
che corrisponde all'inverso della varianza della stima del parametro di regressione per iliothio^{\text{th}}lotto. Sulla base di questa equazione il2×io2 \volte ila matrice dimensionale delle stime dei coefficienti di intercetta e pendenza, ovvero la stima dei minimi quadrati ponderati, è ora ottenuta dalla seguente equazione:
𝛃^WLS=(∑io=1N𝐖io)−1(∑io=1N𝐖io𝐛io)=𝛀(∑io=1N𝐖io𝐛io){\hat{\mathbf{\beta}}}_{\text{WLS}} = \left( \sum_{i = 1}^{n}\mathbf{W}_{i} \right)^{- 1}\left( \sum_{i = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i} \right) = \mathbf{\Omega}\left( \sum_{ i = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i} \right)
Dove𝛀\mathbf{\Omega}è una stima della varianza dello stimatore dei minimi quadrati ponderati. La media delle stime dell'intercetta rappresenta la risposta al rilascio del prodotto calcolata sulla base del processo di produzione e la media delle stime della pendenza rappresenta la pendenza comune.
Intervallo di tolleranza (TI) per il modello RCR
I coefficienti del modello RCRbeta1\beta_{1}Ebeta2\beta_{2}descrivere l'andamento generale, cioè l'andamento comune dei lotti storici. Il TI per il modello RCR può essere calcolato con l'aiuto della stimasi^J{\cappello{y}}_{j}per la retta di regressione e il suo errore standardσsi^,RCR\sigma_{\cappello{y},RCR}secondo il metodo proposto da Scholz e Vangel [5] come segue. Il loro metodo utilizza il concetto di dimensione effettiva del campione.
si^J±K•σsi^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
Il termine di erroreσsi^,RCR\sigma_{\cappello{y},RCR}è calcolato da
σsi^,RCR=D(𝐭(𝚺^betabeta+1N𝛀)𝐭′+σ^2)\sigma_{\hat{y},RCR} = D\left( \sqrt{\mathbf{t}\left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + \frac {1}{n}\mathbf{\Omega} \right)\mathbf{t}^{\mathbf{'}}\mathbf{+}{\hat{\sigma}}^{2}} \right)
Dove𝐭=[1T1⋮⋮1TK],KϵN\mathbf{t} = \begin{bmatrix} 1 & t_{1} \\ \vdots & \vdots \\ 1 & t_{k} \\ \end{bmatrix},\ k\ \epsilon\mathbb{\text {\ N}}, EDDè la diagonale dell'argomento. Il fattoreKKè dato da
K=N−1N•1N*−1•TN*−1,z.zP•N*,gk = \sqrt{\frac{n - 1}{n}} \bullet \frac{1}{\sqrt{n^{*} - 1}} \bullet t_{n^{*} - 1,\ z_ {p} \bullet \sqrt{n^{*}},\gamma}
dove il fattoreTN*−1,z.zP•N*,gt_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma}è ilg\gammaquantile del T distribuzione conN*−1n^{*} - 1gradi di libertà e parametro di non centralitàz.zP•N*z_{p} \bullet \sqrt{n^{*}}, Dovez.zPz_{p}è ilPPquantile della distribuzione normale standardizzata. Il parametroN*n^{*}è la dimensione effettiva del campione data da
N*=[σB2σB2+σe2•∑io=1NB(NioN)2+1N•σe2σB2+σe2]−1=[ρ•1F+1+(1−ρ)•1N]−1{n^{*} = \left\lbrack \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} \bullet \sum_{ i = 1}^{n_{b}}\left( \frac{n_{i}}{n} \right)^{2} + \frac{1}{n} \bullet \frac{\sigma_{e }^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} \right\rbrack}^{- 1} = \left\lbrack \rho \bullet \frac{1 }{f + 1} + \left( 1 - \rho \right) \bullet \frac{1}{n} \right\rbrack^{- 1}
dove il parametroFFe il rapporto di varianzaρ\rosono definiti da
| F=1∑io=1NB(NioN)2−1f = \frac{1}{\sum_{i = 1}^{n_{b}}\left( \frac{n_{i}}{n} \right)^{2}} - 1 |
ρ=σB2σB2+σe2\rho = \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} |
DoveσB2\sigma_{b}^{2}è la varianza tra batch,σe2\sigma_{e}^{2}è la varianza all'interno del batch (o varianza del metodo),Nion_{i}è il numero di misurazioni per lottoioio, cioèio=1,⋯,NBi = 1,\ \cpunti,\ n_{b},NBn_{b}è il numero di lotti storici eNNè il numero totale di campioni, vale a direN=∑io=1NBNion = \sum_{i = 1}^{n_{b}}n_{i}.
Le coperture TIP(100%)p\sinistra( 100\% \destra)della popolazione con una probabilità dig(100%)\gamma\sinistra( 100\% \destra). Il concetto di dimensione effettiva del campione tiene conto del fatto che i dati all'interno del batch sono più correlati rispetto ai dati tra batch, il che diminuisce la quantità di informazioni indipendenti. Per questo motivo vale sempre quanto segue:N*≤Nn^{*} \leq n. Il caso idealeN*=Nn^{*} = nsi realizza se i dati all'interno del batch sono totalmente non correlati.
Implementazione di RCC/RCR in JMP
Lo script JSL che implementa la procedura RCC/RCR è strutturato in più parti.
Prima di tutto devono essere definiti i nomi dei lotti di riferimento e di prova ei vari nomi delle variabili per la risposta, l'ora, i lotti e la condizione di conservazione.
Il modello RCR è costruito (carter e Yang semplificato [1]) come delineato sopra.
Il TI per il modello RCR è costruito utilizzando il metodo proposto da Scholz e Vangel [5].
Viene generata una finestra di report che riassume i parametri calcolati in forma tabellare e grafica.
Esempio
Per la valutazione della funzionalità dello script sono stati generati vari set di dati per nove batch storici e un batch attuale. Il seguente frammento di codice esegue step UN ) del fitting del modello RCR, ovvero le intercettazioni (a,𝛃1\mathbf{\beta}_{1}), pendii (b,𝛃2\mathbf{\beta}_{2}), (radice) errori quadratici medi ((RMSE ) MSE,MSEio\text{MSE}_{i}), gradi di libertà (df,dfio\text{df}_{i}), e numero di osservazioni (n,Nion_{i}) delioioi lotti storici vengono raccolti e archiviati in vettori di lunghezzaNBn_{b}.
For( i = 1, i <= n.refBatches, i++,
fm = Fit Model(
Y( :Eval( responseVariable ) ),
Effects( :Month ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Where( :Batch == refBatches[i] ),
Invisible
);
fit = fm << Run;
fitr = fit << Report;
a.i[i, 1] = fitr["Parameter Estimates"][Number Col Box( 1 )] << Get( 1 );
b.i[i, 1] = fitr["Parameter Estimates"][Number Col Box( 1 )] << Get( 2 );
RMSE.i[i, 1] = fitr["Summary of Fit"][Number Col Box( 1 )] << Get( 3 );
df.i[i, 1] = fitr["Analysis of Variance"][Number Col Box( 1 )] << Get( 2 );
n.i[i, 1] = fitr["Summary of Fit"][Number Col Box( 1 )] << Get( 5 );
);
For( i = 1, i <= n.refBatches, i++,
MSE.i[i] = RMSE.i[i] ^ 2
);
Fare un passo B ) inizia con la stima del MSE aggregato (MSE.pool,MSEpiscina\text{MSE}_{\text{piscina}}). Successivamente, la matrice varianza-covarianza del modello medio (M.bar,𝐌¯\overset{\overline{}}{\mathbf{M}}) viene stimato, che viene poi combinato con la matrice di varianza-covarianza campionaria (S,𝐒bb\mathbf{S}_{\text{bb}}) per ottenere la matrice varianza-covarianza (Sigma.hat,𝚺^betabeta{\hat{\mathbf{\Sigma}}}_{\text{ββ}}).
ab.i = a.i || b.i; // Matrix of the intercept and slope vectors
S = Covariance( ab.i ); // Sample variance-covariance matrix of the intercepts and slopes
MSE.pool = Sum( E Mult( df.i, MSE.i ) ) / Sum( df.i ); // Pooled MSE
RMSE.pool = Sqrt( MSE.pool );
M.i = J( 2, 2, 0 );
For( i = 1, i <= n.refBatches, i++,
dat << Select All Rows << Invert Row Selection;
dat << Select Where( :Batch == refBatches[i] );
x = dat << Get As Matrix( {"Month"} );
x.length = N Row( x ); // Number of observations
colReprIntcpt = J( x.length, 1, 1 ); // Column of 1 representing the intercept
x = colReprIntcpt || x; // Design matrix of the OLS model
M.i = M.i + Inverse( x` * x );
);
M.bar = M.i / n.refBatches; // Mean model variance-covariance matrix
Sigma.hat = S - MSE.pool * M.bar;
Sigma.hat[Loc( Diag( Sigma.hat ) < 0 )] = 0; // Replace negative values on the diagonal of Sigma.hat by 0.
Al passo C ) i coefficienti del modello RCR ab.hat (𝛃^WLS{\hat{\mathbf{\beta}}}_{\text{WLS}}) sono stimati con l'ausilio del seguente frammento di codice.
M.i = J( 2, 2, 0 );
W.i = J( 2, 2, 0 );
For( i = 1, i <= n.refBatches, i++,
dat << Select All Rows << Invert Row Selection;
dat << Select Where( :Batch == refBatches[i] );
x = dat << Get As Matrix( {"Month"} );
colReprIntcpt = J( n.i[i, 1], 1, 1 ); // Column of 1 representing the intercepts
x = colReprIntcpt || x; // Design matrix of the linear model
M.i = M.i + Inverse( x` * x );
W.i = W.i + Inverse( Sigma.hat + MSE.pool * M.i );
);
Omega = Inverse( W.i );
ab.hat = Omega * (W.i * ab.i`);
ab.hat = ab.hat`;
ab.hat.bar = V Mean( ab.hat );
Il prossimo frammento di codice mostra la costruzione del TI per il modello RCR secondo Scholz und Vangel [5]. Per la costruzione dell'intervallo vengono utilizzate le stime dell'intercetta media e del coefficiente di pendenza memorizzate nel vettore ab.hat.bar.
utp = Associative Array( dat:Month ); // Unique time points
time.points = Matrix( utp << Get Keys ); // Vector with (new) time points for which the response is sought
n.new = N Row( time.points ); // Number of data points of the new data set
m.x = J( n.new, 1, 1 ) || time.points; // Design matrix
n = Sum( n.i ); // Total number of data points
df.th = n - 2; // Number of degrees of freedom if only fixed effects are allowed, i.e. if a "common slope, common intercept" model is appropriate.
df = df.th;
variance.ratio = Sigma.hat[1, 1] / (Sigma.hat[1, 1] + MSE.pool);
t.f = 1 / Sum( (df.i / n) ^ 2 ) - 1;
If( Sigma.hat[1, 1] == 0,
df.eff = df,
df.eff = 1 / (variance.ratio / (t.f + 1) + (1 - variance.ratio) / n)
);
// Calculation of the k.eff factor on the basis of the effective number of degrees of freedom.
k.eff = Sqrt( (n - 1) / n ) * 1 / Sqrt( df.eff - 1 ) * t Quantile(
gamma,
(df.eff - 1),
(Normal Quantile( (1 - alpha) ) * Sqrt( df.eff ))
);
t.quantil = t Quantile( (1 - alpha / 2), df.eff );
y.hat = ab.hat.bar[1] + ab.hat.bar[2] * time.points;
LTL = y.hat - k.eff * Vec Diag( Sqrt( m.x * (Sigma.hat + Omega / n.refBatches) * m.x` + MSE.pool ) );
UTL = y.hat + k.eff * Vec Diag( Sqrt( m.x * (Sigma.hat + Omega / n.refBatches) * m.x` + MSE.pool ) );
Nell'ultima parte dello script vengono preparati i risultati per visualizzarli in una finestra di report. Un report di esempio è mostrato nella Figura 2.
I risultati riassunti dalla finestra del rapporto consentono di rispondere alle domande poste all'inizio del capitolo 3 come segue: 1) poiché il punto dati di 18 mesi (ovvero la misurazione più recente) del lotto corrente si trova al di fuori del TI adattato ai dati di i lotti storici si deve concludere che il lotto corrente è OOE / OOT e 2) poiché il punto dati di 18 mesi del lotto corrente non rientra nel PI del lotto corrente si deve concludere che anche il lotto corrente è OOE /OOT in termini di batch corrente. La stessa conclusione dovrebbe essere tratta già alla stazione temporale precedente sebbene il punto temporale di 12 mesi rientri nel PI del lotto corrente. Tuttavia, poiché questo punto si trova al di fuori del TI adattato ai dati dei lotti storici, la conclusione complessiva alla stazione temporale di 12 mesi deve essere stata che si tratta di un punto OOE/OOT.
Come accennato all'inizio del capitolo 3 è molto probabile che i singoli lotti storici varino rispetto alle loro intercettazioni e alle loro pendenze e che per questo motivo il modello RCR superi il modello dei minimi quadrati ordinari. Si possono distinguere cinque casi: caso I: nessuna variazione di intercetta, nessuna variazione di pendenza; caso II: variazione di intercetta, nessuna variazione di pendenza; caso III: nessuna variazione di intercetta, variazione di pendenza; caso IV: variazione di intercetta, variazione di pendenza; e caso V: non linearità. I risultati riassunti nella Figura 3 per tutti e cinque i casi. I grafici in Figura 3 mostrano che il modello RCR rappresenta meglio i dati nei casi in cui le intercette e/o le pendenze variano ed è molto simile al metodo base nei casi in cui non vi è intercettazione e variabilità delle pendenze.
Figure_2Figura 2
Figura 2 Output dello script che implementa il metodo RCC / RCR
La finestra è suddivisa nelle parti "Valutazione lotto storico", "Valutazione lotto attuale (parametri del modello individuale)" e la visualizzazione grafica che riassume i dati storici e del lotto attuale. I dati dei batch storici sono rappresentati da punti blu () ei dati del batch corrente da croci rosse (). Il TI adattato ai dati dei lotti storici è rappresentato dalla banda delimitata dalle linee tratteggiate blu e il PI adattato ai dati del lotto corrente (ma senza includere l'osservazione più recente) dalla banda delimitata dalle linee tratteggiate rosse .
Figura 3 Confronto tra gli intervalli del modello RCR e gli intervalli del modello di regressione lineare di base in diverse situazioni
L'adattamento del modello RCR è rappresentato dalla linea di regressione continua blu e dalle linee tratteggiate blu dell'intervallo di tolleranza corrispondente (confidenza del 95% e copertura del 95%). L'adattamento del modello di base è rappresentato dalla linea di regressione tratteggiata viola e dall'ombreggiatura viola dell'intervallo di previsione corrispondente (95% di confidenza), ovvero i limiti di confidenza per un singolo valore previsto. Le linee tratteggiate grigie nel pannello Va rappresentano l'adattamento non lineare calcolato sulla base della risposta al quadrato. I sei pannelli confrontano gli intervalli del modello RCR e gli intervalli del modello di regressione lineare di base nelle seguenti situazioni: Pannello I: caso "nessuna variazione di intercetta, nessuna variazione di pendenza"; Pannello II: caso "variazione di intercetta, nessuna variazione di pendenza"; Pannello III: caso "nessuna variazione di intercetta, variazione di pendenza"; Quadro IV: caso "variazione intercetta, variazione pendenza"; Pannello Va: caso di "non linearità"; Pannello Vb: caso di "non linearità" dopo trasformazione, cioè elevazione al quadrato, della variabile di risposta.
Conclusione
Lo script JMP presentato in questo manoscritto è uno strumento adatto e robusto per valutare i dati di stabilità di un lotto corrente di un prodotto farmaceutico rispetto ai risultati OOE e OOT. Un prerequisito è la disponibilità di dati storici di stabilità di almeno tre lotti con almeno quattro punti temporali di ciascuno di questi lotti.
Bibliografia
Carter, RL, e Yang, MCK Inferenza su grandi campioni nei modelli di regressione a coefficienti casuali. Comunicazioni in statistica - Teoria e metodi (1986) 15 (8): 2507-2525. COLLEGAMENTO
Conover, WJ (1980), Statistiche pratiche non parametriche, New York: John Wiley and Sons, Inc.
ICH Guidance Q1A(R2), Stability Testing of New Drug Substances and Product, versione fase 4, 6 febbraio 2003. COLLEGAMENTO
Mandel, Grafico di controllo della regressione BJ. J Qual Technol (1969) 1 (1): 1-9. COLLEGAMENTO
Scholz, F. e Vangel, limiti di tolleranza M. e limiti di confidenza Cpk sotto effetti batch. Pubblicato in: Advanced in Stochastic Models for Reliability, Quality and Safety. A cura di Kahle, W., von Collani, E., Franz, J., e Jensen, U. Birkhäuser, Boston, 1998, 361-379. COLLEGAMENTO
Shewhart, WA (1939). Metodo statistico dal punto di vista del controllo di qualità. (Deming, NOI). Washington DC, La Graduate School, il Dipartimento di Agricoltura.
Procedura operativa standard – Guida alla gestione dei dati di laboratorio – Risultati fuori dalle aspettative (OOE) e fuori tendenza (OOT). Gruppo di lavoro sul controllo della qualità analitica della European Compliance Academy (ECA), Christopher Burgess, Bozza V 0.3, 2015.
Agenzia di regolamentazione dei medicinali e dei prodotti sanitari del Regno Unito (MHRA), Out Of Specification Investigations, note di presentazione e pacchetto delegati, 28 agosto 2013. COLLEGAMENTO
Serie di rapporti tecnici dell'OMS, n. 953, allegato 2 Test di stabilità di ingredienti farmaceutici attivi e prodotti farmaceutici finiti, 2009. COLLEGAMENTO