(Acest articol a fost publicat pentru prima dată pe Blog farmaceutși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.
Studiile clinice sunt o componentă crucială a industriei farmaceutice, oferind dovezile necesare pentru a demonstra siguranța, eficacitatea și beneficiul general al noilor medicamente sau tratamente.
Raportarea studiilor clinice, un proces detaliat în sine, este ghidat de agenții de reglementare precum Administrația SUA pentru Alimente și Droguri (FDA), Agenția Europeană a Medicamentelor (EMA) și Conferința internațională privind armonizarea (ICH).
Rezultatele acestor studii trebuie raportate cu atenție pentru a proteja sănătatea publică și pentru a favoriza încrederea în industria farmaceutică. Pharmaverse și R susțin direct această nevoie prin furnizarea de instrumente open-source, transparente și standardizate care permit gestionarea și raportarea constantă a datelor.
Provocări actuale
Studiile clinice se confruntă cu mai multe provocări în starea lor actuală, care pot fi clasificate pe larg în trei domenii cheie:
Probleme etice și de transparență
Standardele etice internaționale, inclusiv Declarația de la Helsinki, subliniază că rezultatele tuturor studiilor clinice – fie pozitive, negative sau neconcludente – ar trebui să fie accesibile publicului. Cu toate acestea, studiile empirice arată că conformitatea rămâne inconsistentă. În special, studiile în fază timpurie sau mai mică, precum și studiile cu rezultate negative, sunt mai puțin susceptibile să fie raportate în timp util sau vizibil (Socra; Analiza BMJ/PMC). Mai mult, dovezile sugerează că sponsorizarea industriei poate introduce prejudecăți în diferite etape ale proiectării, analizei și raportării procesului, ceea ce consolidează importanța diseminării transparente a tuturor constatărilor (Cochrane Review, 2017).
Provocări de costuri și eficiență
Studiile clinice sunt costisitoare, care depășesc adesea sute de milioane de dolari, iar acest lucru poate inhiba dezvoltarea de medicamente pentru boli rare, unde randamentul investițiilor este limitat de dimensiunea mică a populației de pacienți. Eșecul în studiile clinice – în special în studiile în fază tardivă care includ adesea în sus de 1000 de pacienți – poate suporta pierderi uriașe, compuse de natura complexă și variabilă a reglementărilor globale din jurul lor.
Probleme de date și reproductibilitate
Reproductibilitatea este esențială pentru verificarea independentă a rezultatelor studiilor clinice. Diferențele dintre metodele, formatele și metodologiile de colectare a datelor împiedică adesea comparațiile de studiu încrucișat, mai ales dacă un studiu nu a fost conceput cu standarde internaționale consistente și reproductibile.
Standarde farmaceutice
Consorțiul de standarde de schimb de date clinice (CDISC) Oferă standarde de date acceptate la nivel global, care sunt un set de orientări și modele utilizate pentru standardizarea colectării, schimbului și analiza datelor de studiu clinice. Aceste standarde urmăresc îmbunătățirea eficienței, calității datelor și interoperabilității în diverse domenii de cercetare clinică.
În acest articol în mod specific, principalele standarde CDISC pe care le vom evidenția sunt armonizarea standardelor de achiziție a datelor clinice (CDASH), modelul de tabelare a datelor de studiu (SDTM) și modelul de date de analiză (ADAM).
CDASH – Armonizarea standardelor de achiziție a datelor clinice
CDASH oferă Orientări pentru colectarea standardizată a datelor De -a lungul studiilor de studiu clinic. Se asigură că datele colectate pe site -urile clinice sunt structurate, consecvente și ușor traduse în formate de trimitere de reglementare precum SDTM.
SDTM – Model de tabelare a datelor de studiu
Ghidul de implementare SDTM este un standard pentru Structurarea și organizarea seturilor de date de studiu clinic pentru trimiteri de reglementare (de exemplu, la FDA, EMA). Datele SDTM sunt tratate în general de FDA ca date brute sau sursădeoarece reprezintă informațiile de studiu colectate într -un format standardizat.
Important, SDTM restructura datele colectate pentru consecvență și transparență între studii, dar o face nu derivă sau creează noi variabile de analiză – Acest rol este acoperit de Adam.
ADAM – Model de date de analiză
Ghidul de implementare ADAM asigură trasabilitatea de la datele SDTM la seturi de date gata de analiză. Acest model stabilește un Mod standardizat de a crea seturi de date pentru analiza statistică Din datele organizate SDTM, facilitând analiza și raportarea eficientă.
Rolul R în studiile clinice
În zilele noastre, R este utilizat pe scară largă în analiza studiilor clinice, datorită flexibilității sale, a capacităților statistice puternice și a unui sprijin puternic pentru respectarea reglementărilor. R oferă:
- Analiza statistică robustă utilizat pentru analiza de supraviețuire, modele mixte și statistici bayesiene.
- Curățare și transformare a datelor Facilitate de pachete specializate și instrumente de modelare.
- Reproductibilitate și soluții open source pentru a se asigura că rapoartele și trimiterile clinice pot fi automatizate, reducând erorile.
- Integrare cu standardele CDISC Cu ajutorul diferitelor pachete R care pot structura date în conformitate cu cerințele SDTM și ADAM.
Farmaceut
Pharmaverse este un ecosistem colaborativ open-source de instrumente pentru procesarea datelor clinice și conformitatea cu reglementările, constând în prezent în principal din pachete R, dar acum includ și software-ul Python emergent. Oferă resurse care eficientizează implementarea standardelor CDISC precum SDTM, ADAM și Define-XML.
- Pachete farmaceutice cheie:
{sdtm.oak}– Ajută la structurarea seturilor de date SDTM.{admiral}– Facilitează crearea setului de date ADAM.{teal}– Construiește tablouri de bord interactive R/strălucitoare pentru analiza de date clinice exploratorii.
- Pachete R înrudite:
{rtables}-Creează tabele care respectă reglementarea pentru rapoarte clinice.{tern}-Creează tabele/grafice care respectă reglementarea pentru rapoarte clinice.
Acestea nu sunt singurele pachete care sunt utilizate, dar acestea sunt cele la care se vor face referire în acest blogpost.
Pharmaverse nu are un pachet CDASH dedicat, dar abordarea sa bazată pe metadate înseamnă că puteți lucra în continuare cu concepte CDASH pentru a conecta colectarea datelor sursă la maparea SDTM.
O listă mai cuprinzătoare de pachete poate fi găsită aici: https://pharmaverse.org/e2eclinical/
Conductă de date
În raportarea studiilor clinice, conducta de date ar putea urma acest standard:

Datele brute de la pacienți sunt colectate în conformitate cu orientările CDASH, apoi prelucrate cu standarde SDTM și ADAM pentru a produce rezultate conexe, înregistrări și grafice/figuri care corespund tuturor aspectelor unui studiu clinic specific.
Începând cu datele CDASH dintr -un studiu, procesul de pregătire începe cu {sdtm.oak} şi {sdtmchecks} Pachete de la Pharmaverse pentru a le pregăti pentru seturi de date formatate SDTM.
Ulterior, standardele ADAM sunt aplicate pe aceste date folosind {admiral} Pachet, care poate fi apoi analizat și transformat în tabele, listări și grafice/cifre folosind pachete non-farmaverse (dar încă înrudite), cum ar fi {rtables} şi {tern}.


Pharmaverse conține unele depozite cu date de testare care pot ajuta la vizualizarea și să înțeleagă acest lucru, și anume pharmaversesdtm şi pharmaverseadam.
Există și {random.cdisc.data} Pachet care poate fi utilizat pentru a genera date CDISC randomizate în scopuri exploratorii.
Mai multe informații despre aceste seturi de date pot fi găsite pe site -urile lor de documentare respective.
Tabele, listări, grafice/figuri
Conținutul rapoartelor de studiu clinic conține 3 tipuri diferite de rezultate:
- Mese
- Listări
- Grafice/figuri
Aceste rezultate joacă un rol vital pentru a rezuma rezultatele unui studiu clinic în timpul raportării. Ele pot rezuma rezultatele de siguranță, eficacitate și exploratorie (cum ar fi analizele biomarkerului).
În secțiunile următoare, vom folosi seturile de date din {random.cdisc.data} Pachet pentru a ajuta la crearea de rezultate de exemplu utilizate în rapoartele de studii clinice. Acestea vor fi împărțite în două secțiuni fiecare, și anume „configurarea datelor” și „generarea standard de ieșire”.
Mese
În acest exemplu, vom crea un Tabelul de evenimente adverse standard (AET02) folosind cadsl şi cadae seturi de date din random.cdisc.data Pachet (consultați catalogul TLG pentru referință).


Configurarea datelor:
library(random.cdisc.data)
library(dplyr)
library(tern)
# Ensure character variables are converted to factors so that
# empty strings and NAs are explicit missing levels.
adsl <- df_explicit_na(cadsl)
adae <- df_explicit_na(cadae) %>%
var_relabel(
AEBODSYS = "MedDRA System Organ Class",
AEDECOD = "MedDRA Preferred Term"
) %>%
filter(ANL01FL == "Y")
# Define the split function
split_fun <- drop_split_levels
Generarea de ieșire Aet02:
# Standard Table for AET02 --------------------------------------------------------------
lyt <- basic_table(show_colcounts = TRUE) %>%
split_cols_by(var = "ACTARM") %>%
add_overall_col(label = "All Patients") %>%
analyze_num_patients(
vars = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one adverse event",
nonunique = "Overall total number of events"
)
) %>%
split_rows_by(
"AEBODSYS",
child_labels = "visible",
nested = FALSE,
split_fun = split_fun,
label_pos = "topleft",
split_label = obj_label(adae$AEBODSYS)
) %>%
summarize_num_patients(
var = "USUBJID",
.stats = c("unique", "nonunique"),
.labels = c(
unique = "Total number of patients with at least one adverse event",
nonunique = "Total number of events"
)
) %>%
count_occurrences(
vars = "AEDECOD",
.indent_mods = -1L
) %>%
append_varlabels(adae, "AEDECOD", indent = 1L)
result <- build_table(lyt, df = adae, alt_counts_df = adsl)
result
Listări
În acest exemplu, vom crea un Listarea standard a termenilor preferați, termenii de nivel cel mai scăzut și termeni de evenimente adverse specificate de investigator (AEL01) folosind {cadae} set de date din {random.cdisc.data} pachet.


Configurarea datelor:
library(random.cdisc.data) library(dplyr) library(rlistings) out <- cadae %>% select(AESOC, AEDECOD, AELLT, AETERM) %>% unique() var_labels(out) <- c( AESOC = "MedDRA System Organ Class", AEDECOD = "MedDRA Preferred Term", AELLT = "MedDRA Lowest Level Term", AETERM = "Investigator-SpecifiednAdverse Event Term" )
Generarea de ieșire AEL01:
# Standard Listing for AEL01 ------------------------------------------------------------
lsting <- as_listing(
out,
key_cols = c("AESOC", "AEDECOD", "AELLT"),
disp_cols = names(out),
main_title = "Listing of Preferred Terms, Lowest Level Terms, and Investigator-Specified Adverse Event Terms"
)
head(lsting, 20)
Grafice/figuri
În acest exemplu, vom crea un Grafic standard pentru analiza subgrupului duratei de supraviețuire (FSTG02) folosind {caddtte} set de date din {random.cdisc.data} pachet.

Analiza subgrupului duratei de supraviețuire – FSTG02 „>
> Analiza subgrupurilor duratei de supraviețuire – FSTG02
Configurarea datelor:
library(random.cdisc.data)
library(tern)
library(dplyr)
library(forcats)
library(nestcolor)
preprocess_adtte <- function(adtte) {
# Save variable labels before data processing steps.
adtte_labels <- var_labels(adtte)
adtte <- adtte %>%
df_explicit_na() %>%
dplyr::filter(
PARAMCD == "OS",
ARM %in% c("B: Placebo", "A: Drug X"),
SEX %in% c("M", "F")
) %>%
dplyr::mutate(
# Reorder levels of ARM to display reference arm before treatment arm.
ARM = droplevels(forcats::fct_relevel(ARM, "B: Placebo")),
SEX = droplevels(SEX),
is_event = CNSR == 0,
# Convert time to MONTH
AVAL = day2month(AVAL),
AVALU = "Months"
) %>%
var_relabel(
ARM = adtte_labels("ARM"),
SEX = adtte_labels("SEX"),
is_event = "Event Flag",
AVAL = adtte_labels("AVAL"),
AVALU = adtte_labels("AVALU")
)
adtte
}
anl <- cadtte %>%
preprocess_adtte()
Generarea de ieșire FSTG02:
# Standard Plot for FSTG02 -------------------------------------------------------
anl1 <- anl
df <- extract_survival_subgroups(
variables = list(tte = "AVAL", is_event = "is_event", arm = "ARM", subgroups = c("SEX", "BMRKR2")),
data = anl1
)
result <- basic_table() %>%
tabulate_survival_subgroups(
df = df,
vars = c("n_tot", "n", "median", "hr", "ci"),
time_unit = anl1$AVALU(1)
)
result
plot <- g_forest(tbl = result)
plot
Concluzie
Concluzie
Raportarea studiilor clinice rămâne fundamentală pentru încrederea publică și pentru integritatea dezvoltării medicamentelor. Cu toate acestea, câmpul continuă să se confrunte cu persistent Deficite de transparență, escaladarea costurilorși provocări de reproductibilitate.
Adoptarea standardelor deschise și a platformelor de colaborare – cum ar fi Farmaceut Ecosistemul-cu o inițiativă mai largă a surselor open-source în R și tehnologii conexe, oferă o cale practică înainte. Aceste abordări permit o mai mare transparență, o eficiență îmbunătățită și practici de date riguroase, bazate pe standarde, care consolidează fundamentul științific al cercetării clinice. În consecință, nivelul de încredere poate fi îmbunătățit în continuare, iar bunăstarea publică poate fi asigurată.
Alăturați -ne în partea a 2 -a a acestei serii în care aruncăm o privire asupra analizei de date interactive a studiilor clinice folosind pachete care creează aplicații strălucitoare personalizate special pentru acest spațiu.
Resurse
Ultima actualizare
2025-09-12 09: 11: 58.119603
Detalii
Reutilizați
Citare
Citarea Bibtex:
@online{hee2025,
author = {Hee, Fabian and Kouretsis, Alexandros and , APPSILON},
title = {Faster {Clinical} {Trial} {Reporting:} {A} {Beginner’s}
{Guide} to {Implementing} {CDISC} {SDTM} and {ADaM} {Standards} with
{Open-Source} {R} {Packages}},
date = {2025-09-12},
url = {https://pharmaverse.github.io/blog/posts/2025-09-12_faster_clinical_trial_reporting/faster_clinical_trial_reporting.html},
langid = {en}
}
Pentru atribuire, vă rugăm să citați această lucrare ca:
Hee, Fabian, Alexandros Kouretsis și Appsilon. 2025. „Raportare mai rapidă a studiilor clinice: un ghid pentru începători pentru implementarea standardelor CDISC SDTM și ADAM cu pachete open-source R.” 12 septembrie 2025.
