Use o RStudio no Amazon SageMaker para criar submissões regulatórias para o setor de ciências biológicas PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Use o RStudio no Amazon SageMaker para criar submissões regulatórias para o setor de ciências da vida

As empresas farmacêuticas que buscam a aprovação de agências reguladoras, como a Food & Drug Administration (FDA) dos EUA ou a Agência Japonesa de Produtos Farmacêuticos e Dispositivos Médicos (PMDA) para vender seus medicamentos no mercado, devem apresentar evidências para provar que seu medicamento é seguro e eficaz para o fim a que se destina. usar. Uma equipe de médicos, estatísticos, químicos, farmacologistas e outros cientistas clínicos revisa os dados de submissão de ensaios clínicos e a rotulagem proposta. Se a revisão estabelecer que há evidência estatística suficiente para provar que os benefícios do medicamento para a saúde superam os riscos, o medicamento é aprovado para venda.

O pacote de submissão de ensaios clínicos consiste em dados tabulados, dados de análise, metadados de ensaios e relatórios estatísticos que consistem em tabelas estatísticas, listagens e figuras. No caso da FDA dos EUA, o documento técnico comum eletrônico (eCTD) é o formato padrão para apresentação de pedidos, emendas, suplementos e relatórios ao Centro de Avaliação e Pesquisa Biológica (CBER) e Centro de Avaliação e Pesquisa de Medicamentos da FDA ( CDER). Para o FDA e o PMDA japonês, é um requisito regulamentar enviar dados tabulados no CDISC Standard Data Tabulation Model (SDTM), dados de análise no CDISC Analysis Dataset Model (ADaM) e metadados de teste no CDISC Define-XML (com base no Operational Data Model (ODM)).

Neste post, demonstramos como podemos usar o RStudio em Amazon Sage Maker para criar tais entregas de submissão regulamentar. Esta postagem descreve o processo de envio de ensaios clínicos, como podemos ingerir dados de pesquisa de ensaios clínicos, tabular e analisar os dados e, em seguida, criar relatórios estatísticos - tabelas de resumo, listas de dados e figuras (TLF). Esse método pode permitir que os clientes farmacêuticos se conectem perfeitamente aos dados clínicos armazenados em seu ambiente da AWS, processem-nos usando R e ajudem a acelerar o processo de pesquisa de ensaios clínicos.

Processo de desenvolvimento de medicamentos

O processo de desenvolvimento de medicamentos pode ser dividido em cinco etapas principais, conforme ilustrado na figura a seguir.

Leva em média 10 a 15 anos e aproximadamente US$ 1 a 3 bilhões para que um medicamento receba uma aprovação bem-sucedida de cerca de 10,000 moléculas em potencial. Durante as fases iniciais da pesquisa (a fase de descoberta de medicamentos), são identificados candidatos a medicamentos promissores, que avançam para a pesquisa pré-clínica. Durante a fase pré-clínica, os pesquisadores tentam descobrir a toxicidade do medicamento realizando in vitro experimentos em laboratório e in vivo experimentos em animais. Após os testes pré-clínicos, os medicamentos passam para a fase de pesquisa de ensaios clínicos, onde devem ser testados em humanos para verificar sua segurança e eficácia. Os pesquisadores projetam ensaios clínicos e detalham o plano de estudo no protocolo de ensaio clínico. Eles definem as diferentes fases da pesquisa clínica - desde pequenos estudos de Fase 1 para determinar a segurança e dosagem do medicamento, até estudos de Fase 2 maiores para determinar a eficácia e os efeitos colaterais do medicamento, até estudos de Fase 3 e 4 ainda maiores para determinar a eficácia, segurança e monitoramento de reações adversas. Após testes clínicos bem-sucedidos em humanos, o patrocinador do medicamento arquiva um Novo Pedido de Medicamento (NDA) para comercializar o medicamento. As agências reguladoras revisam todos os dados, trabalham com o patrocinador nas informações de rotulagem da prescrição e aprovam o medicamento. Após a aprovação do medicamento, as agências reguladoras revisam os relatórios de segurança pós-comercialização para garantir a segurança completa do produto.

Em 1997, o Clinical Data Interchange Standards Consortium (CDISC), uma organização global sem fins lucrativos composta por empresas farmacêuticas, CROs, biotecnologia, instituições acadêmicas, prestadores de serviços de saúde e agências governamentais, foi iniciado como grupo voluntário. O CDISC publicou padrões de dados para agilizar o fluxo de dados desde a coleta até os envios e facilitou o intercâmbio de dados entre parceiros e fornecedores. O CDISC publicou os seguintes padrões:

  • CDASH (Harmonização de Padrões de Aquisição de Dados Clínicos) – Padrões para dados coletados
  • SDTM (Modelo de Tabulação de Dados de Estudo) – Padrões para envio de dados tabulados
  • ADaM (Modelo de Dados de Análise) – Padrões para dados de análise
  • SEND (Padrão para troca de dados não clínicos) – Padrões para dados não clínicos
  • PRM (Modelo de Representação de Protocolo) – Padrões para protocolo

Esses padrões podem ajudar revisores treinados a analisar dados de forma mais eficaz e rápida usando ferramentas padrão, reduzindo assim os tempos de aprovação de medicamentos. É um requisito regulatório do FDA dos EUA e do PMDA japonês enviar todos os dados tabulados usando o formato SDTM.

R para envios de pesquisas de ensaios clínicos

SAS e R são dois dos softwares de análise estatística mais usados ​​na indústria farmacêutica. Quando o desenvolvimento dos padrões SDTM foi iniciado pelo CDISC, o SAS estava em uso quase universal na indústria farmacêutica e na FDA. No entanto, R está ganhando enorme popularidade hoje em dia porque é de código aberto e novos pacotes e bibliotecas são adicionados continuamente. Os alunos usam principalmente R durante seus estudos e pesquisas, e levam essa familiaridade com R para seus trabalhos. O R também oferece suporte para tecnologias emergentes, como integrações avançadas de aprendizado profundo.

Provedores de nuvem, como a AWS, agora se tornaram a plataforma preferida dos clientes farmacêuticos para hospedar sua infraestrutura. A AWS também fornece serviços gerenciados, como o SageMaker, que facilita a criação, o treinamento e a implantação de modelos de machine learning (ML) na nuvem. O SageMaker também permite acesso ao RStudio IDE de qualquer lugar por meio de um navegador da web. Esta postagem detalha como os programadores estatísticos e bioestatísticos podem ingerir seus dados clínicos no ambiente R, como o código R pode ser executado e como os resultados são armazenados. Fornecemos trechos de código que permitem aos cientistas de dados de ensaios clínicos ingerir arquivos XPT no ambiente R, criar quadros de dados R para SDTM e ADaM e, finalmente, criar TLF que pode ser armazenado em um Serviço de armazenamento simples da Amazon (Amazon S3) bucket de armazenamento de objetos.

RStudio no SageMaker

Em 2 de novembro de 2021, a AWS em colaboração com RS Estúdio PBC anunciou a disponibilidade geral de RStudio no SageMaker, o primeiro RStudio Workbench IDE totalmente gerenciado do setor na nuvem. Agora você pode trazer sua licença atual do RStudio para migrar facilmente seus ambientes autogerenciados do RStudio para o SageMaker em apenas algumas etapas simples. Para saber mais sobre essa empolgante colaboração, confira Anunciando o RStudio no Amazon SageMaker.

Junto com o RStudio Workbench, o pacote RStudio para desenvolvedores R também oferece RStudio Connect e RStudio Package Manager. O RStudio Connect foi projetado para permitir que cientistas de dados publiquem insights, painéis e aplicativos da web. Ele facilita o compartilhamento de insights de ML e ciência de dados do trabalho complicado dos cientistas de dados e o coloca nas mãos dos tomadores de decisão. O RStudio Connect também torna a hospedagem e o gerenciamento de conteúdo simples e escalável para amplo consumo.

Visão geral da solução

Nas seções a seguir, discutimos como podemos importar dados brutos de um repositório remoto ou bucket do S3 no RStudio no SageMaker. Também é possível conectar-se diretamente a Serviço de banco de dados relacional da Amazon (Amazon RDS) e data warehouses como Amazon RedShift (Vejo Conectando o R com o Amazon Redshift) diretamente do RStudio; no entanto, isso está fora do escopo deste post. Depois que os dados são ingeridos de algumas fontes diferentes, nós os processamos e criamos quadros de dados R para uma tabela. Em seguida, convertemos o quadro de dados da tabela em um arquivo RTF e armazenamos os resultados de volta em um bucket do S3. Essas saídas podem ser usadas potencialmente para fins de envio regulatório, desde que os pacotes R usados ​​na postagem tenham sido validados para uso em envios regulatórios pelo cliente.

Configure o RStudio no SageMaker

Para obter instruções sobre como configurar o RStudio no SageMaker em seu ambiente, consulte Comece a usar o RStudio no SageMaker. Certifique-se de que a função de execução do RStudio no SageMaker tenha acesso para baixar e carregar dados no bucket do S3 no qual os dados estão armazenados. Para saber mais sobre como gerenciar pacotes R e publicar sua análise usando o RStudio no SageMaker, consulte Anunciando o RStudio totalmente gerenciado no SageMaker para cientistas de dados.

Ingerir dados no RStudio

Nesta etapa, ingerimos dados de várias fontes para disponibilizá-los para nossa sessão R. Importamos dados em formato SAS XPT; no entanto, o processo é semelhante se você deseja ingerir dados em outros formatos. Uma das vantagens de usar o RStudio no SageMaker é que, se os dados de origem estiverem armazenados em suas contas da AWS, o SageMaker poderá acessar nativamente os dados usando Gerenciamento de acesso e identidade da AWS (IAM).

Acessar dados armazenados em um repositório remoto

Nesta etapa, importamos dados ADaM do Repositório GitHub da FDA. Criamos um diretório local chamado data no ambiente RStudio para armazenar os dados e baixar dados demográficos (dm.xpt) do repositório remoto. Nesse contexto, o diretório local se refere a um diretório criado em seu armazenamento privado do Amazon EFS que é anexado por padrão ao seu ambiente de sessão R. Veja o seguinte código:

######################################################
# 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 esta etapa estiver concluída, você poderá ver dm.xpt sendo baixado navegando para Arquivos, dados,, dm.xpt.

Acessar dados armazenados no Amazon S3

Nesta etapa, baixamos os dados armazenados em um bucket do S3 em nossa conta. Copiamos o conteúdo do repositório GitHub do FDA para o bucket do S3 chamado aws-sagemaker-rstudio para este exemplo. Veja o seguinte código:

#####################################################
# 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 a etapa estiver concluída, você poderá ver pp.xpt sendo baixado navegando para Arquivos, dados,, pp.xpt.

Processar dados XPT

Agora que temos arquivos SAS XPT disponíveis no ambiente R, precisamos convertê-los em quadros de dados R e processá-los. Nós usamos o haven biblioteca para ler arquivos XPT. Mesclamos conjuntos de dados CDISC SDTM dm e pp para criar o conjunto de dados ADPP. Em seguida, criamos uma tabela de estatísticas de resumo usando o quadro de dados ADPP. A tabela de resumo é então exportada em formato RTF.

Primeiro, os arquivos XPT são lidos usando o read_xpt função da biblioteca paraíso. Em seguida, um conjunto de dados de análise é criado usando o sqldf função do sqldf biblioteca. Veja o seguinte código:

########################################################
# 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
             ")

Em seguida, um quadro de dados de saída é criado usando funções do Tplyr e dplyr bibliotecas:

########################################################
# 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)

O quadro de dados de saída é então armazenado como um arquivo RTF na pasta de saída no 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)

Carregar saídas para o Amazon S3

Após a geração da saída, colocamos os dados de volta em um bucket do S3. Podemos fazer isso criando uma sessão do SageMaker novamente, se uma sessão ainda não estiver ativa, e fazendo upload do conteúdo da pasta de saída para um bucket do S3 usando o session$upload_data função:

#####################################################
# 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)

Com essas etapas, ingerimos os dados, processamos e carregamos os resultados para serem disponibilizados para envio às autoridades reguladoras.

limpar

Para evitar incorrer em custos não intencionais, você precisa encerrar sua sessão atual. No canto superior direito da página, escolha o ícone de energia. Isso interromperá automaticamente a instância subjacente e, portanto, deixará de incorrer em custos de computação não intencionais.

Use o RStudio no Amazon SageMaker para criar submissões regulatórias para o setor de ciências biológicas PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Desafios

A postagem delineou as etapas para ingerir dados brutos armazenados em um bucket do S3 ou de um repositório remoto. No entanto, existem muitas outras fontes de dados brutos para um ensaio clínico, principalmente dados eCRF (formulários eletrônicos de relatório de caso) armazenados em sistemas EDC (captura eletrônica de dados) como Oracle Clinical, Medidata Rave, OpenClinica ou Snowflake; dados de laboratório; dados de eCOA (avaliação de resultados clínicos) e ePRO (resultados eletrônicos relatados pelo paciente); dados do mundo real de aplicativos e dispositivos médicos; e registros eletrônicos de saúde (EHRs) nos hospitais. Um pré-processamento significativo está envolvido antes que esses dados possam ser usados ​​para envios regulatórios. Construir conectores para várias fontes de dados e coletá-los em um repositório de dados centralizado (CDR) ou em um data lake clínico, mantendo controles de acesso adequados, apresenta desafios significativos.

Outro desafio importante a ser superado é o da conformidade regulatória. O sistema de computador usado para criar saídas de envio regulatório deve estar em conformidade com os regulamentos apropriados, como 21 CFR Parte 11, HIPAA, GDPR ou quaisquer outros requisitos GxP ou diretrizes ICH. Isso se traduz em trabalhar em um ambiente validado e qualificado com controles de acesso, segurança, backup e auditabilidade implementados. Isso também significa que todos os pacotes R usados ​​para criar saídas de envio regulatório devem ser validados antes do uso.

Conclusão

Neste post, vimos que alguns dos principais resultados para um envio de eCTD foram CDISC SDTM, conjuntos de dados ADaM e TLF. Esta postagem delineou as etapas necessárias para criar esses produtos de envio regulatórios, primeiro ingerindo dados de algumas fontes no RStudio no SageMaker. Vimos então como podemos processar os dados ingeridos no formato XPT; converta-o em quadros de dados R para criar SDTM, ADaM e TLF; e, finalmente, carregue os resultados em um bucket do S3.

Esperamos que, com as amplas ideias apresentadas no post, os programadores estatísticos e bioestatísticos possam visualizar facilmente o processo de ponta a ponta de carregamento, processamento e análise de dados de pesquisa de ensaios clínicos no RStudio no SageMaker e usar os aprendizados para definir um fluxo de trabalho adequado para suas submissões regulatórias.

Você consegue pensar em outras aplicações de uso do RStudio para ajudar pesquisadores, estatísticos e programadores de R a facilitar suas vidas? Adoraríamos ouvir suas ideias! E se você tiver alguma dúvida, compartilhe-a na seção de comentários.

Recursos

Para mais informações, visite os seguintes links:


Sobre os autores

Use o RStudio no Amazon SageMaker para criar submissões regulatórias para o setor de ciências biológicas PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Rohit Banga é um Especialista Global da Indústria de Desenvolvimento Clínico baseado em Londres, Reino Unido. Ele é bioestatístico por treinamento e ajuda os clientes de Healthcare e LifeScience a implantar soluções inovadoras de desenvolvimento clínico na AWS. Ele é apaixonado por como a ciência de dados, IA/ML e tecnologias emergentes podem ser usadas para resolver problemas reais de negócios no setor de Saúde e LifeScience. Em seu tempo livre, Rohit gosta de esquiar, fazer churrasco e passar tempo com a família e amigos.

Use o RStudio no Amazon SageMaker para criar submissões regulatórias para o setor de ciências biológicas PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Georgios Schinas é um Arquiteto de Soluções Especialista para AI/ML na região EMEA. Ele está baseado em Londres e trabalha em estreita colaboração com clientes no Reino Unido e na Irlanda. A Georgios ajuda os clientes a projetar e implantar aplicativos de machine learning em produção na AWS com um interesse particular em práticas de MLOps e permitindo que os clientes realizem machine learning em escala. Em seu tempo livre, ele gosta de viajar, cozinhar e passar o tempo com amigos e familiares.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS