Utilizza RStudio su Amazon SageMaker per creare comunicazioni normative per il settore delle scienze della vita PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Utilizza RStudio su Amazon SageMaker per creare invii normativi per il settore delle scienze biologiche

Le aziende farmaceutiche che richiedono l'approvazione da parte di agenzie di regolamentazione come la Food & Drug Administration (FDA) statunitense o l'Agenzia giapponese per i prodotti farmaceutici e i dispositivi medici (PMDA) per vendere i loro farmaci sul mercato devono presentare prove per dimostrare che il loro farmaco è sicuro ed efficace per il suo scopo uso. Un team di medici, statistici, chimici, farmacologi e altri scienziati clinici esamina i dati di presentazione della sperimentazione clinica e l'etichettatura proposta. Se la revisione stabilisce che esistono prove statistiche sufficienti per dimostrare che i benefici per la salute del farmaco superano i rischi, il farmaco viene approvato per la vendita.

Il pacchetto di invio della sperimentazione clinica è costituito da dati tabulati, dati di analisi, metadati della sperimentazione e report statistici costituiti da tabelle statistiche, elenchi e cifre. Nel caso della FDA statunitense, il documento tecnico elettronico comune (eCTD) è il formato standard per la presentazione di domande, emendamenti, supplementi e rapporti al Center for Biologics Evaluation and Research (CBER) e al Center for Drug Evaluation and Research (CBER) della FDA ( CDER). Per la FDA e il PMDA giapponese, è un requisito normativo inviare i dati tabulati nel CDISC Standard Data Tabulation Model (SDTM), i dati di analisi nel CDISC Analysis Dataset Model (ADaM) e i metadati di prova in CDISC Define-XML (basato sul modello di dati operativi (ODM)).

In questo post, dimostriamo come possiamo usare RStudio su Amazon Sage Maker per creare tali prodotti di presentazione normativa. Questo post descrive il processo di presentazione della sperimentazione clinica, come possiamo acquisire dati di ricerca sulla sperimentazione clinica, tabulare e analizzare i dati e quindi creare report statistici: tabelle di riepilogo, elenchi di dati e cifre (TLF). Questo metodo può consentire ai clienti farmaceutici di connettersi senza problemi ai dati clinici archiviati nel loro ambiente AWS, elaborarli utilizzando R e contribuire ad accelerare il processo di ricerca della sperimentazione clinica.

Processo di sviluppo del farmaco

Il processo di sviluppo del farmaco può essere sostanzialmente suddiviso in cinque fasi principali, come illustrato nella figura seguente.

Occorrono in media 10–15 anni e circa 1–3 miliardi di dollari americani affinché un farmaco riceva un'approvazione di successo su circa 10,000 potenziali molecole. Durante le prime fasi della ricerca (fase di scoperta di farmaci), vengono identificati promettenti farmaci candidati, che si spostano ulteriormente verso la ricerca preclinica. Durante la fase preclinica, i ricercatori cercano di scoprire la tossicità del farmaco eseguendo in vitro esperimenti in laboratorio e in vivo esperimenti sugli animali. Dopo i test preclinici, i farmaci passano alla fase di ricerca della sperimentazione clinica, dove devono essere testati sull'uomo per accertarne la sicurezza e l'efficacia. I ricercatori progettano studi clinici e dettagliano il piano di studio nel protocollo di sperimentazione clinica. Definiscono le diverse fasi della ricerca clinica, da piccoli studi di Fase 1 per determinare la sicurezza e il dosaggio dei farmaci, a studi di Fase 2 più grandi per determinare l'efficacia e gli effetti collaterali dei farmaci, a studi di Fase 3 e 4 ancora più grandi per determinare l'efficacia, la sicurezza e monitoraggio delle reazioni avverse. Dopo il successo degli studi clinici sull'uomo, lo sponsor del farmaco presenta una nuova domanda di droga (NDA) per commercializzare il farmaco. Le agenzie di regolamentazione esaminano tutti i dati, collaborano con lo sponsor sulle informazioni sull'etichettatura delle prescrizioni e approvano il farmaco. Dopo l'approvazione del farmaco, le agenzie di regolamentazione riesaminano i rapporti di sicurezza post-commercializzazione per garantire la sicurezza completa del prodotto.

Nel 1997, il Clinical Data Interchange Standards Consortium (CDISC), un'organizzazione globale senza scopo di lucro che comprende aziende farmaceutiche, CRO, biotecnologie, istituzioni accademiche, operatori sanitari e agenzie governative, è stata fondata come gruppo di volontari. CDISC ha pubblicato standard di dati per semplificare il flusso di dati dalla raccolta agli invii e ha facilitato lo scambio di dati tra partner e fornitori. CDISC ha pubblicato i seguenti standard:

  • CDASH (Armonizzazione degli standard di acquisizione dei dati clinici) – Norme per i dati raccolti
  • SDTM (Modello di tabulazione dei dati di studio) – Norme per l'invio di dati tabulati
  • ADaM (Modello di dati di analisi) – Norme per i dati di analisi
  • INVIA (Standard per lo scambio di dati non clinici) – Standard per i dati non clinici
  • PRM (Modello di rappresentazione del protocollo) – Norme per il protocollo

Questi standard possono aiutare i revisori qualificati ad analizzare i dati in modo più efficace e rapido utilizzando strumenti standard, riducendo così i tempi di approvazione dei farmaci. È un requisito normativo della FDA statunitense e del PMDA giapponese inviare tutti i dati tabulati utilizzando il formato SDTM.

R per le proposte di ricerca per sperimentazioni cliniche

SAS e R sono due dei software di analisi statistica più utilizzati nell'industria farmaceutica. Quando lo sviluppo degli standard SDTM è stato avviato da CDISC, SAS era in uso quasi universale nell'industria farmaceutica e presso la FDA. Tuttavia, R sta guadagnando un'enorme popolarità al giorno d'oggi perché è open source e vengono aggiunti continuamente nuovi pacchetti e librerie. Gli studenti usano R principalmente durante gli studi e le ricerche e portano questa familiarità con R nel loro lavoro. R offre anche supporto per tecnologie emergenti come integrazioni avanzate di deep learning.

I fornitori di servizi cloud come AWS sono ora diventati la piattaforma preferita dai clienti farmaceutici per ospitare la propria infrastruttura. AWS fornisce anche servizi gestiti come SageMaker, che semplifica la creazione, il training e la distribuzione di modelli di machine learning (ML) nel cloud. SageMaker consente inoltre l'accesso all'IDE di RStudio da qualsiasi luogo tramite un browser web. Questo post descrive in dettaglio come i programmatori statistici e i biostatistici possono ingerire i loro dati clinici nell'ambiente R, come eseguire il codice R e come vengono archiviati i risultati. Forniamo frammenti di codice che consentono ai data scientist di studi clinici di ingerire file XPT nell'ambiente R, creare frame di dati R per SDTM e ADaM e infine creare TLF che possono essere archiviati in un Servizio di archiviazione semplice Amazon Bucket di archiviazione oggetti (Amazon S3).

RStudio su SageMaker

Il 2 novembre 2021, AWS in collaborazione con RStudio PBC ha annunciato la disponibilità generale di RStudio su SageMaker, il primo RStudio Workbench IDE completamente gestito nel cloud del settore. Ora puoi portare la tua attuale licenza RStudio per migrare facilmente i tuoi ambienti RStudio autogestiti su SageMaker in pochi semplici passaggi. Per saperne di più su questa entusiasmante collaborazione, dai un'occhiata Annuncio di RStudio su Amazon SageMaker.

Insieme a RStudio Workbench, la suite RStudio per sviluppatori R offre anche RStudio Connect e RStudio Package Manager. RStudio Connect è progettato per consentire ai data scientist di pubblicare approfondimenti, dashboard e applicazioni Web. Semplifica la condivisione di informazioni dettagliate su ML e scienza dei dati dal complicato lavoro dei data scientist e le mette nelle mani dei responsabili delle decisioni. RStudio Connect rende anche l'hosting e la gestione dei contenuti semplici e scalabili per un ampio consumo.

Panoramica della soluzione

Nelle sezioni seguenti, discutiamo come importare dati grezzi da un repository remoto o da un bucket S3 in RStudio su SageMaker. È anche possibile connettersi direttamente a Servizio di database relazionale Amazon (Amazon RDS) e data warehouse come Amazon RedShift (Vedi Collegamento di R con Amazon Redshift) direttamente da RStudio; tuttavia, questo esula dallo scopo di questo post. Dopo che i dati sono stati acquisiti da un paio di origini diverse, li elaboriamo e creiamo frame di dati R per una tabella. Quindi convertiamo il frame di dati della tabella in un file RTF e memorizziamo i risultati in un bucket S3. Questi output possono quindi essere potenzialmente utilizzati a fini di invio normativo, a condizione che i pacchetti R utilizzati nel post siano stati convalidati per l'uso per l'invio normativo da parte del cliente.

Configura RStudio su SageMaker

Per istruzioni sulla configurazione di RStudio su SageMaker nel proprio ambiente, fare riferimento a Inizia con RStudio su SageMaker. Assicurati che il ruolo di esecuzione di RStudio su SageMaker abbia accesso al download e al caricamento dei dati nel bucket S3 in cui sono archiviati i dati. Per ulteriori informazioni su come gestire i pacchetti R e pubblicare l'analisi utilizzando RStudio su SageMaker, fare riferimento a Annuncio di RStudio completamente gestito su SageMaker per i data scientist.

Importa i dati in RStudio

In questo passaggio, acquisiamo dati da varie fonti per renderli disponibili per la nostra sessione R. Importiamo i dati in formato SAS XPT; tuttavia, il processo è simile se si desidera importare dati in altri formati. Uno dei vantaggi dell'utilizzo di RStudio su SageMaker è che se i dati di origine sono archiviati nei tuoi account AWS, SageMaker può accedere in modo nativo ai dati utilizzando Gestione dell'identità e dell'accesso di AWS (IAM) ruoli.

Accedi ai dati archiviati in un repository remoto

In questo passaggio importiamo i dati ADaM dal file Repository GitHub della FDA. Creiamo una directory locale chiamata data nell'ambiente RStudio per archiviare i dati e scaricare i dati demografici (dm.xpt) dal repository remoto. In questo contesto, la directory locale si riferisce a una directory creata sullo storage Amazon EFS privato collegato per impostazione predefinita all'ambiente della sessione R. Vedere il codice seguente:

######################################################
# Step 1.1 – Ingest Data from Remote Data Repository #
######################################################

# Remote Data Path 
raw_data_url = “https://github.com/FDA/PKView/raw/master/Installation%20Package/OCP/data/clinical/DRUG000/0000/m5/datasets/test001/tabulations/sdtm”
raw_data_name = “dm.xpt”

#Create Local Directory to store downloaded files
dir.create(“data”)
local_file_location <- paste0(getwd(),”/data/”)
download.file(raw_data_url, paste0(local_file_location,raw_data_name))

Quando questo passaggio è completo, puoi vedere dm.xpt in fase di download navigando su File, dati, dm.xpt.

Accedi ai dati archiviati in Amazon S3

In questo passaggio, scarichiamo i dati archiviati in un bucket S3 nel nostro account. Abbiamo copiato i contenuti dal repository GitHub della FDA nel bucket S3 denominato aws-sagemaker-rstudio per questo esempio. Vedere il codice seguente:

#####################################################
# Step 1.2 - Ingest Data from S3 Bucket             #
#####################################################
library("reticulate")

SageMaker = import('sagemaker')
session <- SageMaker$Session()

s3_bucket = "aws-sagemaker-rstudio"
s3_key = "DRUG000/test001/tabulations/sdtm/pp.xpt"

session$download_data(local_file_location, s3_bucket, s3_key)

Quando il passaggio è completo, puoi vedere pp.xpt in fase di download navigando su File, dati, pp.xpt.

Elabora dati XPT

Ora che abbiamo i file SAS XPT disponibili nell'ambiente R, dobbiamo convertirli in frame di dati R ed elaborarli. Noi usiamo il haven libreria per leggere i file XPT. Uniamo i set di dati CDDISC SDTM dm ed pp per creare set di dati ADPP. Quindi creiamo una tabella statistica di riepilogo utilizzando il frame di dati ADPP. La tabella di riepilogo viene quindi esportata in formato RTF.

Innanzitutto, i file XPT vengono letti utilizzando il file read_xpt funzione della biblioteca del rifugio. Quindi viene creato un set di dati di analisi utilizzando sqldf funzione del sqldf biblioteca. Vedere il codice seguente:

########################################################
# Step 2.1 - Read XPT files. Create Analysis dataset.  #
########################################################

library(haven)
library(sqldf)


# Read XPT Files, convert them to R data frame
dm = read_xpt("data/dm.xpt")
pp = read_xpt("data/pp.xpt")

# Create ADaM dataset
adpp = sqldf("select a.USUBJID
                    ,a.PPCAT as ACAT
                    ,a.PPTESTCD
                    ,a.PPTEST
                    ,a.PPDTC
                    ,a.PPSTRESN as AVAL
                    ,a.VISIT as AVISIT
                    ,a.VISITNUM as AVISITN
                    ,b.sex
                from pp a 
           left join dm b 
                  on a.usubjid = b.usubjid
             ")

Quindi, viene creato un frame di dati di output utilizzando le funzioni di Tplyr ed dplyr biblioteche:

########################################################
# Step 2.2 - Create output table                       #
########################################################

library(Tplyr)
library(dplyr)

t = tplyr_table(adpp, SEX) %>% 
  add_layer(
    group_desc(AVAL, by = "Area under the concentration-time curve", where= PPTESTCD=="AUC") %>% 
      set_format_strings(
        "n"        = f_str("xx", n),
        "Mean (SD)"= f_str("xx.x (xx.xx)", mean, sd),
        "Median"   = f_str("xx.x", median),
        "Q1, Q3"   = f_str("xx, xx", q1, q3),
        "Min, Max" = f_str("xx, xx", min, max),
        "Missing"  = f_str("xx", missing)
      )
  )  %>% 
  build()

output = t %>% 
  rename(Variable = row_label1,Statistic = row_label2,Female =var1_F, Male = var1_M) %>% 
  select(Variable,Statistic,Female, Male)

Il frame dei dati di output viene quindi archiviato come file RTF nella cartella di output nell'ambiente RStudio:

#####################################################
# Step 3 - Save the Results as RTF                  #
#####################################################
library(rtf)

dir.create("output")
rtf = RTF("output/tab_adpp.rtf")  
addHeader(rtf,title="Section 1 - Tables", subtitle="This Section contains all tables")
addParagraph(rtf, "Table 1 - Pharmacokinetic Parameters by Sex:n")
addTable(rtf, output)
done(rtf)

Carica gli output su Amazon S3

Dopo che l'output è stato generato, reinseriamo i dati in un bucket S3. Possiamo ottenere ciò creando nuovamente una sessione SageMaker, se una sessione non è già attiva, e caricando il contenuto della cartella di output in un bucket S3 utilizzando il session$upload_data funzione:

#####################################################
# Step 4 - Upload outputs to S3                     #
#####################################################
library("reticulate")

SageMaker = import('sagemaker')
session <- SageMaker$Session()
s3_bucket = "aws-sagemaker-rstudio"
output_location = "output/"
s3_folder_name = "output"
session$upload_data(output_location, s3_bucket, s3_folder_name)

Con questi passaggi, abbiamo ingerito i dati, li abbiamo elaborati e caricato i risultati da rendere disponibili per l'invio alle autorità di regolamentazione.

ripulire

Per evitare di incorrere in costi non intenzionali, è necessario uscire dalla sessione corrente. Nell'angolo in alto a destra della pagina, scegli l'icona di alimentazione. Ciò arresterà automaticamente l'istanza sottostante e quindi smetterà di sostenere costi di calcolo non intenzionali.

Utilizza RStudio su Amazon SageMaker per creare comunicazioni normative per il settore delle scienze della vita PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Le sfide

Il post ha delineato i passaggi per l'acquisizione di dati grezzi archiviati in un bucket S3 o da un repository remoto. Tuttavia, esistono molte altre fonti di dati grezzi per una sperimentazione clinica, principalmente dati eCRF (moduli di segnalazione di casi elettronici) archiviati in sistemi EDC (acquisizione elettronica di dati) come Oracle Clinical, Medidata Rave, OpenClinica o Snowflake; dati di laboratorio; dati da eCOA (valutazione degli esiti clinici) ed ePRO (risultati elettronici segnalati dal paziente); dati del mondo reale da app e dispositivi medici; e cartelle cliniche elettroniche (EHR) presso gli ospedali. È necessaria una preelaborazione significativa prima che questi dati possano essere resi utilizzabili per gli invii normativi. La creazione di connettori per varie origini dati e la loro raccolta in un archivio di dati centralizzato (CDR) o in un data lake clinico, pur mantenendo adeguati controlli di accesso, pone sfide significative.

Un'altra sfida fondamentale da superare è quella della conformità normativa. Il sistema informatico utilizzato per la creazione di output di presentazione delle normative deve essere conforme alle normative appropriate, come 21 CFR Part 11, HIPAA, GDPR o qualsiasi altro requisito GxP o linee guida ICH. Ciò si traduce nel lavorare in un ambiente convalidato e qualificato con controlli per l'accesso, la sicurezza, il backup e la verificabilità in atto. Ciò significa anche che tutti i pacchetti R utilizzati per creare output di invio normativo devono essere convalidati prima dell'uso.

Conclusione

In questo post, abbiamo visto che alcuni dei risultati chiave per una presentazione eCTD erano CDDISC SDTM, set di dati ADaM e TLF. Questo post ha delineato i passaggi necessari per creare questi risultati di invio normativo importando prima i dati da un paio di fonti in RStudio su SageMaker. Abbiamo quindi visto come elaborare i dati ingeriti in formato XPT; convertilo in frame di dati R per creare SDTM, ADaM e TLF; e infine caricare i risultati in un bucket S3.

Ci auguriamo che, con le idee generali esposte nel post, i programmatori statistici e i biostatistici possano facilmente visualizzare il processo end-to-end di caricamento, elaborazione e analisi dei dati della ricerca sugli studi clinici in RStudio su SageMaker e utilizzare le conoscenze acquisite per definire un flusso di lavoro adatto alle tue richieste normative.

Riuscite a pensare ad altre applicazioni dell'utilizzo di RStudio per aiutare ricercatori, statistici e programmatori R a semplificarsi la vita? Ci piacerebbe conoscere le tue idee! E se hai domande, condividile nella sezione commenti.

Risorse

Per ulteriori informazioni, visitare i seguenti collegamenti:


Circa gli autori

Utilizza RStudio su Amazon SageMaker per creare comunicazioni normative per il settore delle scienze della vita PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Rohit Banga è uno specialista del settore dello sviluppo clinico globale con sede a Londra, Regno Unito. È un biostatistico di formazione e aiuta i clienti Healthcare e LifeScience a distribuire soluzioni innovative di sviluppo clinico su AWS. È appassionato di come la scienza dei dati, l'IA/ML e le tecnologie emergenti possono essere utilizzate per risolvere problemi aziendali reali nel settore sanitario e delle scienze della vita. Nel tempo libero, Rohit ama sciare, fare barbecue e passare il tempo con la famiglia e gli amici.

Utilizza RStudio su Amazon SageMaker per creare comunicazioni normative per il settore delle scienze della vita PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Giorgio Schina è uno Specialist Solutions Architect per AI/ML nella regione EMEA. Ha sede a Londra e lavora a stretto contatto con clienti nel Regno Unito e in Irlanda. Georgios aiuta i clienti a progettare e distribuire applicazioni di machine learning in produzione su AWS con un particolare interesse per le pratiche MLOps e consentendo ai clienti di eseguire machine learning su larga scala. Nel tempo libero ama viaggiare, cucinare e passare il tempo con gli amici e la famiglia.

Timestamp:

Di più da Apprendimento automatico di AWS