Was macht Validierung Analytischer Methoden?
Wann verwenden
Immer wenn die Frage ist, ob ein analytisches Verfahren für seinen vorgesehenen Zweck geeignet ist: Entwurf einer Validierungsstudie, Bewertung von Validierungsdaten, Verifizierung eines Arzneibuchverfahrens, Transfer eines Verfahrens in ein anderes Labor oder auf ein anderes Gerät oder Verteidigung dieser Punkte in einem Bericht.
Die zwei Regeln
1. Legen Sie den geltenden Rahmen fest, bevor Sie etwas entwerfen. Derselbe Assay wird unter ICH Q2(R2), USP <1225>, ICH M10, CLSI EP und ISO/IEC 17025 unterschiedlich validiert. Sie unterscheiden sich darin, welche Kenngrößen erforderlich sind, wie die Studien aufgebaut sind und ob überhaupt numerische Akzeptanzkriterien vorgegeben werden. Eine Vermischung erzeugt ein Protokoll, das keines von ihnen erfüllt.
2. Legen Sie Akzeptanzkriterien vor der Datenerhebung fest. Nach Sichtung der Ergebnisse gewählte Kriterien sind keine Akzeptanzkriterien, und ihre nachträgliche Festlegung ist ein dauerhafter Prüffindling. ICH Q2(R2) liefert bewusst fast keine numerischen Kriterien – sie müssen aus der Spezifikation, dem Analytical Target Profile (ICH Q14 Abschnitt 3) oder Entwicklungsdaten stammen. ICH M10 ist die Ausnahme: es liefert explizite Zahlen, und diese unterscheiden sich zwischen chromatographischen Assays und Ligandenbindungsassays.
Anwendungsbereich
Dieser Skill plant Studien, berechnet die Statistiken korrekt und strukturiert die Dokumentation. Er entscheidet nicht , dass ein Verfahren validiert ist, gibt keine Charge frei, akzeptiert oder verwirft keinen Lauf, schließt keine Untersuchung ab und ersetzt weder den Analysten, den technischen Prüfer, die Qualitätseinheit noch die Aufsichtsbehörde. Jedes Skript berichtet; keines zieht Schlussfolgerungen.
Urheberrechtsgrenze
ICH-Leitlinien sind offen veröffentlicht und zur Wiederverwendung mit Quellenangabe lizenziert, daher werden ihre Anforderungen direkt in diesen Skill codiert. USP-General Chapters, CLSI-EP-Dokumente und ISO-Normen sind urheberrechtlich geschützt und kostenpflichtig. Für diese liefert der Skill die Bezeichnung, den Anwendungsbereich und Bezugsquellen für eine autorisierte Kopie – niemals den Text, niemals erfundene Grenzwerte. Bitten Sie keinen Agenten, deren Inhalte abzurufen, zu transkribieren oder zu rekonstruieren. Wenn eine Zahl wichtig ist und in einem kostenpflichtigen Dokument steht, lesen Sie sie aus der autorisierten Kopie.
Rahmenwerke
cd skills/analytical-method-validation/scripts
python3 plan_validation.py --list-frameworks
| Schlüssel | Geltungsbereich | Numerische Kriterien geliefert |
|---|---|---|
ich-q2r2 | Freigabe- und Stabilitätsprüfung von Wirkstoffen und Arzneimitteln | Fast keine – Sie leiten sie ab |
ich-m10 | Bioanalytische Konzentrationsmessung (PK, TK, BE) | Ja, und sie unterscheiden sich nach Modalität |
usp-1220 | Lebenszyklus von Arzneibuchverfahren, drei Stufen | Kostenpflichtig |
usp-1225 / usp-1226 | Validierung / Verifizierung von Arzneibuchverfahren | Kostenpflichtig |
clsi | Messverfahren im klinischen Labor (EP-Serie) | Kostenpflichtig |
iso-17025 | Laborentwickelte und modifizierte Methoden unter Akkreditierung | Nein – „im erforderlichen Umfang" |
Q2(R2) ersetzte Q2(R1) im November 2023 und strukturierte die Kenngrößen neu. Der Bereich ist jetzt die übergeordnete Kenngröße (Abschnitt 3.2), die Response (Linearität) und Validierung der unteren Bereichsgrenzen (NG/BG) enthält. Richtigkeit und Präzision sind Abschnitt 3.3 und können in Kombination gegen ein einzelnes Kriterium bewertet werden. Robustheit wird als Entwicklungstätigkeit behandelt und verweist auf ICH Q14. Multivariate Verfahren werden explizit behandelt (2.5 und 3.2.2.3), und Anhang 2 enthält Arbeitsbeispiele für Techniken, die Q2(R1) nie abgedeckt hat – quantitative ¹H-NMR, NIR, quantitative LC/MS, qPCR, biologische Assays und Partikelgröße. Ein Q2(R1)-förmiges Protokoll – eine flache Liste aus Linearität, Bereich, Richtigkeit, Präzision, Spezifität, NG, BG, Robustheit – ist veraltet. Beachten Sie auch die Fehlerkorrektur vom 30. November 2023 zu Tabelle 5 und den Tabellen 6–11.
Skripte
cd skills/analytical-method-validation/scripts
| Skript | Beantwortete Frage |
|---|---|
plan_validation.py | Welcher Rahmen, welche Kenngrößen, welches Studiendesign, welches Protokoll? |
check_response.py | Gilt das Kalibrationsmodell tatsächlich über den gesamten Bereich? |
check_accuracy_precision.py | Wie hoch ist die Wiederfindung, und wie viel der Variabilität liegt zwischen den Tagen? |
check_detection_limits.py | Wie hoch sind NG und BG nach jedem zulässigen Ansatz, und dienen sie der Berichtsgrenze? |
check_bioanalytical_run.py | Erfüllt dieser Lauf die ICH-M10-Anforderungen für seine Modalität? |
compare_methods.py | Sind zwei Verfahren innerhalb einer vorab festgelegten Grenze äquivalent? |
Alle akzeptieren --format table|tsv|json. Herkunft, Leitlinienzitate und Einschränkungen gehen nach stderr;
Daten gehen nach stdout, sodass > out.tsv sie trennt. Exit-Code ist 0 für keine Befunde, 1
wenn Befunde erhoben wurden, 2 für fehlerhafte Eingabe – sodass jedes von ihnen einen Workflow steuern kann.
Workflow
1. Rahmen und erforderliche Kenngrößen festlegen
python3 plan_validation.py --framework ich-q2r2 --attribute assay --technique hplc --range-use assay
Q2(R2) Tabelle 1 entscheidet, was erforderlich ist, basierend auf dem gemessenen Attribut, nicht auf der Technik. Für
einen Assay: Spezifität, Response, Richtigkeit, Wiederholpräzision, Zwischenpräzision. Für einen
Grenztest: Spezifität und nur NG. Für einen Identitätstest: nur Spezifität. Akzeptierte Attribute sind
assay, impurity (quantitativ), impurity-limit und identity.
Der berichtbare Bereich ergibt sich aus der Spezifikation. Q2(R2) Tabelle 2 enthält Arbeitsbeispiele – 80–120 % des deklarierten Gehalts für einen Assay, 70–130 % für die Gehaltsgleichförmigkeit, Berichtsgrenze bis 120 % der Spezifikation für eine Verunreinigung.
2. Protokoll generieren und Kriterien ausfüllen
python3 plan_validation.py --framework ich-q2r2 --attribute impurity --protocol > protocol.md
Jedes in Klammern gesetzte Feld ist eine Entscheidung, die vor der Datenerhebung getroffen und dokumentiert werden muss. Die Protokollvorlage weigert sich bewusst, Akzeptanzkriterien für Q2(R2)-Arbeiten vorzubelegen, da es keinen vertretbaren Standard gibt.
3. Response bewerten
python3 check_response.py -i calibration.csv --max-back-calc-error 2
Eingabe ist level,response, eine Zeile pro Injektion; wiederholte Zeilen auf derselben Stufe sind Replikate,
und ihre Bereitstellung ermöglicht den Linearitätstest.
Tatsächliche Ausgabe einer Kurve, die ein Bestimmtheitsmaß durchwinken würde:
Statistik Wert
unterscheidbare Stufen 5
Steigung 166.6000
Achsenabschnitt 2495.0000
KI des Achsenabschnitts enthält 0 nein
Bestimmtheitsmaß (r2) 0.9830
Lack-of-Fit-F 469.5294
Lack-of-Fit-p 1.5139e-06
Runs-Test p 0.0492
Stufe n mittlere_Response mittlerer_rückberechneter_Wert relativer_Fehler_Prozent
50.0000 2 10075.0000 45.4982 -9.0036
75.0000 2 15150.0000 75.9604 1.2805
100.0000 2 20050.0000 105.3721 5.3721
125.0000 2 24050.0000 129.3818 3.5054
150.0000 2 26450.0000 143.7875 -4.1417
r² = 0,983 und das Modell ist unbrauchbar: −9,0 % rückberechneter Fehler am unteren Ende des Bereichs, Lack-of-Fit p = 1,5 × 10⁻⁶, nicht-zufällige Vorzeichen der Residuen. r² ist kein Beleg für Linearität – es steigt mit dem Bereich und ist nahezu unempfindlich gegenüber Krümmung. Der Lack-of-Fit-F-Test gegen den reinen Fehler und das Residualmuster sind der Beleg, weshalb Q2(R2) 3.2.2.1 eine Analyse der Abweichung der Punkte von der Geraden und nicht nur einen Korrelationskoeffizienten fordert.
Fügen Sie --weight 1/x2 für eine Kurve mit weitem Bereich hinzu. Das Skript erkennt Heteroskedastizität, wenn die
Residualvarianz im oberen Drittel des Bereichs das untere Drittel um mehr als das 10-fache übersteigt, da
ungewichtete Anpassung dann genau den unteren Endbereich verfälscht, in dem die Berichtsgrenze liegt.
4. Richtigkeit und Präzision bewerten
python3 check_accuracy_precision.py -i ap.csv --accuracy-limit 2 --rsd-limit 1.0 --design-check assay
Eingabe ist level,measured,group, wobei group der Zwischenpräzisionsfaktor ist – Tag, Analyst
oder Gerät.
Stufe Komponente sd rsd_pct df ki90_untere_sd ki90_obere_sd
100 Wiederholpräzision (innerh. Gruppe) 0,0707 0,0707 3 0,0438 0,2065
100 zwischen Gruppen 1,6515 1,6515 2 n/a n/a
100 Zwischenpräzision (gesamt) 1,6530 1,6530 2,0037 0,9554 7,2821
Die Wiederholpräzision von 0,07 % RSD sieht hervorragend aus; die Zwischenpräzision beträgt 1,65 %, also dreiundzwanzigmal so groß, weil die Variabilität vollständig zwischen den Tagen liegt. Die Angabe des Intraday-Wertes als Präzision des Verfahrens würde die Routineleistung um mehr als eine Größenordnung unterschätzen. Deshalb passt das Skript ein einfaktorielles Random-Effects-Modell an, anstatt zu poolen.
Zwei Fallstricke, die das Skript für Sie behandelt:
- Die Präzision wird innerhalb jeder Stufe geschätzt, niemals über Stufen hinweg gepoolt. Das Poolen von 80/100/120 %- Ergebnissen in einer Standardabweichung macht die Bereichsspanne selbst zu einer scheinbaren Unpräzision. Das Skript berichtet pro Stufe, plus eine stufenunabhängige Ansicht als Prozent des Nominalwerts.
--require-ci-within-limiterzwingt, dass das gesamte Konfidenzintervall innerhalb der Grenze liegt, nicht nur der Mittelwert. Q2(R2) 3.3.1.4 fordert, dass das Intervall vereinbar mit dem Kriterium ist; ein Mittelwert, der bei sechs Replikaten gerade so hineinrutscht, hat noch nicht viel gezeigt.
5. NG und BG ermitteln und bestätigen
python3 check_detection_limits.py --calibration lowcal.csv --blanks blanks.csv \
--confirm-ql 0.05 --confirm-data ql_check.csv --reporting-threshold 0.05
Ansatz sigma Steigung NG BG
sd-and-slope (sigma = Reststreuung der Regression) 7,2816 5033,3490 0,0048 0,0145
sd-and-slope (sigma = Streuung des y-Achsenabschnitts) 4,3303 5033,3490 0,0028 0,0086
sd-and-slope (sigma = Streuung von 8 Leerwerten) 3,7702 5033,3490 0,0025 0,0075
Dieselben Daten liefern BG-Schätzungen, die um den Faktor 1,9 variieren, allein aufgrund der Wahl von σ. Q2(R2) 3.2.3.5
fordert daher, die Grenze und den zu ihrer Bestimmung verwendeten Ansatz zu berichten und eine
geschätzte Grenze mit Proben bei oder nahe dieser Grenze zu bestätigen. Für ein Verunreinigungsverfahren muss die BG
bei oder unter der Berichtsgrenze liegen. Reflexartig 3,3σ/Steigung zu verwenden, eine Zahl ohne
benannten Ansatz zu berichten und sie nie zu bestätigen, sind drei separate Befunde.
6. Bioanalytische Läufe unter ICH M10
python3 check_bioanalytical_run.py --modality chromatographic --run run1.csv
python3 check_bioanalytical_run.py --modality lba --isr isr.csv
python3 check_bioanalytical_run.py --modality lba --criteria
--modality ist obligatorisch und hat keinen Standardwert, da sich die Kriterien tatsächlich unterscheiden:
| Chromatographisch | Ligandenbindungsassay | |
|---|---|---|
| Kalibrationstoleranz | ±15 %, ±20 % am LLOQ | ±20 %, ±25 % am LLOQ und ULOQ |
| Richtigkeit / Präzision | ±15 % / ≤15 % VK (±20 % / ≤20 % am LLOQ) | ±20 % / ≤20 % VK (±25 % / ≤25 % am LLOQ und ULOQ) |
| R&P-Design | 4 QC-Stufen, 5 Replikate/Lauf, ≥3 Läufe über ≥2 Tage | 5 QC-Stufen, 3 Replikate/Lauf, ≥6 Läufe über ≥2 Tage |
| Gesamtfehler | kein solches Kriterium | ≤30 %, ≤40 % am LLOQ und ULOQ |
| ISR-Übereinstimmung | ±20 % für ≥2/3 der Wiederholungen | ±30 % für ≥2/3 der Wiederholungen |
Die Anwendung der ±15%-chromatographischen Zahlen auf einen Ligandenbindungsassay oder die Übertragung des LBA-Gesamtfehlerkriteriums in eine chromatographische Methode sind beide häufig und beide falsch.
Die Laufprüfung setzt die oft übersehene Regel pro Stufe durch: mindestens 2/3 aller QCs und mindestens 50 % auf jeder Stufe. Ein Lauf kann die Gesamtquote bestehen, während eine einzelne Stufe vollständig durchfällt.
Befund: QC-Stufe hoch: 0/2 innerhalb der Toleranz (0 %); M10 erfordert mindestens 50 % auf jeder Stufe
7. Transfer und Methodenvergleich
python3 compare_methods.py -i paired.csv --margin 2 --relative --slope-tolerance 0.05
mittlere Differenz (%) 1,4646
TOST-Spielraum 2,0000
TOST-p-Wert 1,0528e-13
90%-KI (TOST) 1,44127 bis 1,48797
äquivalent bei angegebener Grenze ja
--- nur zum Vergleich ---
gepaarter t-Test p (KEINE Äquivalenz) 0,0000
OLS-Steigung (hier verzerrt) 1,0396
Deming-Steigung 1,0398
Passing-Bablok-Steigung 1,0351
Zwei Fehler, die dies ersetzt:
- „p > 0,05, kein signifikanter Unterschied, daher sind die Methoden äquivalent." Das Nichterkennen eines Unterschieds ist kein Beleg für Äquivalenz, und bei einem kleinen Transferdatensatz ist dieses Ergebnis nahezu garantiert. TOST testet die relevante Hypothese – dass die wahre Differenz innerhalb eines vorab festgelegten Spielraums liegt. Hier zeigt der t-Test, dass der Unterschied hochsignifikant ist und TOST zeigt, dass die Methoden bei ±2 % äquivalent sind; beides ist wahr, und nur eine Frage beantwortet.
- Gewöhnliche kleinste Quadrate für den Methodenvergleich. OLS geht davon aus, dass die Referenzwerte fehlerfrei sind, was beim Vergleich zweier Verfahren falsch ist, und verzerrt die Steigung gegen Null. Deming (mit einem angegebenen Fehlervarianzverhältnis) und Passing–Bablok (nichtparametrisch, ausreißerresistent) sind die geeigneten Regressionen und werden zusammen mit OLS zum Vergleich berichtet.
Das Skript zeigt auch proportionalen Bias an – wenn die Differenz mit der Konzentration tendiert, ist eine einzige mittlere Abweichung und ihre Übereinstimmungsgrenzen irreführend, unabhängig davon, wie eng sie aussehen.
Was dieser Skill verhindern soll
- Validierung nach der Struktur von ICH Q2(R1) drei Jahre nachdem Q2(R2) sie ersetzt hat.
- Akzeptanzkriterien, die nach Sichtung der Daten geschrieben wurden.
- r² als Beleg für Linearität.
- Wiederholpräzision als Präzision des Verfahrens unter Vernachlässigung der Zwischentagskomponente.
- Eine einzelne NG/BG-Zahl ohne benannten Ansatz und ohne Bestätigung.
- Chromatographische M10-Kriterien angewendet auf einen Ligandenbindungsassay oder umgekehrt.
- Nicht-Signifikanz eines t-Tests als Äquivalenz bei einem Methodentransfer.
Referenzen
references/framework-selection.md– welcher Rahmen gilt, und die Fragen
…
[gekürzt für die Übersetzung]