Gebruik RStudio op Amazon SageMaker om regelgevingsinzendingen te maken voor de life sciences-industrie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Gebruik RStudio op Amazon SageMaker om regelgevende inzendingen te maken voor de life sciences-industrie

Farmaceutische bedrijven die toestemming willen krijgen van regelgevende instanties zoals de Amerikaanse Food & Drug Administration (FDA) of de Japanese Pharmaceuticals and Medical Devices Agency (PMDA) om hun medicijnen op de markt te verkopen, moeten bewijs overleggen om te bewijzen dat hun medicijn veilig en effectief is voor het beoogde doel gebruiken. Een team van artsen, statistici, chemici, farmacologen en andere klinische wetenschappers beoordelen de gegevens over de indiening van klinische proeven en de voorgestelde etikettering. Als uit de beoordeling blijkt dat er voldoende statistisch bewijs is om te bewijzen dat de gezondheidsvoordelen van het medicijn opwegen tegen de risico's, wordt het medicijn goedgekeurd voor verkoop.

Het pakket voor het indienen van klinische proeven bestaat uit getabelleerde gegevens, analysegegevens, metagegevens van onderzoeken en statistische rapporten bestaande uit statistische tabellen, lijsten en figuren. In het geval van de Amerikaanse FDA is het elektronische gemeenschappelijke technische document (eCTD) het standaardformaat voor het indienen van aanvragen, wijzigingen, aanvullingen en rapporten bij het Center for Biologics Evaluation and Research (CBER) en het Center for Drug Evaluation and Research van de FDA ( CDER). Voor de FDA en de Japanse PMDA is het wettelijk verplicht om getabelleerde gegevens in te dienen in CDISC Standard Data Tabulation Model (SDTM), analysegegevens in CDISC Analysis Dataset Model (ADaM) en proefmetadata in CDISC Define-XML (gebaseerd op Operational Data Model (ODM)).

In dit bericht laten we zien hoe we RStudio kunnen gebruiken op Amazon Sage Maker om dergelijke regelgevende indieningsproducten te creëren. Dit bericht beschrijft het indieningsproces van klinische proeven, hoe we onderzoeksgegevens van klinische proeven kunnen opnemen, de gegevens in een tabel kunnen opnemen en analyseren en vervolgens statistische rapporten kunnen maken - samenvattende tabellen, gegevenslijsten en cijfers (TLF). Deze methode kan farmaceutische klanten in staat stellen naadloos verbinding te maken met klinische gegevens die zijn opgeslagen in hun AWS-omgeving, deze te verwerken met R, en het onderzoeksproces van klinische proeven te versnellen.

Geneesmiddelontwikkelingsproces

Het ontwikkelingsproces van geneesmiddelen kan grofweg worden onderverdeeld in vijf grote stappen, zoals geïllustreerd in de volgende afbeelding.

Het duurt gemiddeld 10-15 jaar en ongeveer $ 1-3 miljard voordat één medicijn een succesvolle goedkeuring krijgt van ongeveer 10,000 potentiële moleculen. Tijdens de vroege onderzoeksfasen (de drug discovery-fase) worden veelbelovende kandidaat-geneesmiddelen geïdentificeerd, die verder gaan naar preklinisch onderzoek. Tijdens de preklinische fase proberen onderzoekers de toxiciteit van het medicijn te achterhalen door uit te voeren in vitro experimenten in het lab en in vivo experimenten op dieren. Na preklinische tests gaan geneesmiddelen door naar de onderzoeksfase van de klinische proef, waar ze op mensen moeten worden getest om hun veiligheid en werkzaamheid vast te stellen. De onderzoekers ontwerpen klinische proeven en detailleren het studieplan in het klinische proefprotocol. Ze definiëren de verschillende klinische onderzoeksfasen - van kleine fase 1-onderzoeken om de veiligheid en dosering van geneesmiddelen te bepalen, tot grotere fase 2-onderzoeken om de werkzaamheid en bijwerkingen van geneesmiddelen te bepalen, tot nog grotere fase 3- en 4-onderzoeken om de werkzaamheid, veiligheid en bijwerkingen monitoren. Na succesvolle klinische proeven bij mensen dient de medicijnsponsor een New Drug Application (NDA) in om het medicijn op de markt te brengen. De regelgevende instanties beoordelen alle gegevens, werken samen met de sponsor aan etiketteringsinformatie op recept en keuren het medicijn goed. Na de goedkeuring van het medicijn beoordelen de regelgevende instanties de veiligheidsrapporten na het op de markt brengen om de veiligheid van het volledige product te waarborgen.

In 1997 werd het Clinical Data Interchange Standards Consortium (CDISC), een wereldwijde non-profitorganisatie bestaande uit farmaceutische bedrijven, CRO's, biotech, academische instellingen, zorgverleners en overheidsinstanties, opgericht als vrijwilligersgroep. CDISC heeft gegevensstandaarden gepubliceerd om de stroom van gegevens van verzameling tot indiening te stroomlijnen en de gegevensuitwisseling tussen partners en providers te vergemakkelijken. CDISC heeft de volgende normen gepubliceerd:

  • CDASH (harmonisatie van standaarden voor klinische gegevensverzameling) – Normen voor verzamelde gegevens
  • SDTM (studiegegevenstabelmodel) – Normen voor het indienen van getabelleerde gegevens
  • ADaM (analysegegevensmodel) – Normen voor analysegegevens
  • SEND (standaard voor uitwisseling van niet-klinische gegevens) – Normen voor niet-klinische gegevens
  • PRM (Protocol Representatie Model) – Standaarden voor protocol

Deze normen kunnen getrainde beoordelaars helpen om gegevens effectiever en sneller te analyseren met behulp van standaardtools, waardoor de goedkeuringstijd van geneesmiddelen wordt verkort. Het is een wettelijke vereiste van de Amerikaanse FDA en de Japanse PMDA om alle gegevens in tabellen in het SDTM-formaat in te dienen.

R voor inzendingen voor klinisch onderzoek

SAS en R zijn twee van de meest gebruikte statistische analysesoftware die binnen de farmaceutische industrie wordt gebruikt. Toen CDISC begon met de ontwikkeling van de SDTM-normen, was SAS bijna universeel in gebruik in de farmaceutische industrie en bij de FDA. Tegenwoordig wint R echter enorm aan populariteit omdat het open source is en er voortdurend nieuwe pakketten en bibliotheken worden toegevoegd. Studenten gebruiken R voornamelijk tijdens hun studie en onderzoek, en ze nemen deze bekendheid met R mee naar hun werk. R biedt ook ondersteuning voor opkomende technologieën zoals geavanceerde deep learning-integraties.

Cloudproviders zoals AWS zijn nu het favoriete platform geworden voor farmaceutische klanten om hun infrastructuur te hosten. AWS biedt ook beheerde services zoals SageMaker, waardoor het moeiteloos maken, trainen en implementeren van machine learning (ML)-modellen in de cloud. SageMaker biedt ook toegang tot de RStudio IDE vanaf elke locatie via een webbrowser. Dit bericht beschrijft hoe statistische programmeurs en biostatistici hun klinische gegevens kunnen opnemen in de R-omgeving, hoe R-code kan worden uitgevoerd en hoe resultaten worden opgeslagen. We bieden codefragmenten waarmee datawetenschappers van klinische proeven XPT-bestanden in de R-omgeving kunnen opnemen, R-dataframes voor SDTM en ADaM kunnen maken en ten slotte TLF kunnen maken die kunnen worden opgeslagen in een Amazon eenvoudige opslagservice (Amazon S3) objectopslagemmer.

RStudio op SageMaker

Op 2 november 2021 heeft AWS in samenwerking met RStudio PBC aangekondigd de algemene beschikbaarheid van RStudio op SageMaker, de eerste volledig beheerde RStudio Workbench IDE in de cloud in de branche. U kunt nu uw huidige RStudio-licentie meenemen om uw zelfbeheerde RStudio-omgevingen in slechts een paar eenvoudige stappen eenvoudig naar SageMaker te migreren. Kijk voor meer informatie over deze spannende samenwerking op Aankondiging van RStudio op Amazon SageMaker.

Naast de RStudio Workbench biedt de RStudio-suite voor R-ontwikkelaars ook RStudio Connect en RStudio Package Manager. RStudio Connect is ontworpen om datawetenschappers in staat te stellen inzichten, dashboards en webapplicaties te publiceren. Het maakt het gemakkelijk om ML- en datawetenschapsinzichten uit het gecompliceerde werk van datawetenschappers te delen en in handen te geven van besluitvormers. RStudio Connect maakt het hosten en beheren van inhoud ook eenvoudig en schaalbaar voor breed gebruik.

Overzicht oplossingen

In de volgende secties bespreken we hoe we onbewerkte gegevens kunnen importeren uit een externe repository of S3-bucket in RStudio op SageMaker. Het is ook mogelijk om rechtstreeks verbinding te maken met Amazon relationele databaseservice (Amazon RDS) en datawarehouses zoals Amazon roodverschuiving (Zie R verbinden met Amazon Redshift) rechtstreeks van RStudio; dit valt echter buiten het bestek van dit bericht. Nadat gegevens uit een aantal verschillende bronnen zijn opgenomen, verwerken we deze en maken we R-gegevensframes voor een tabel. Vervolgens converteren we het tabelgegevensframe naar een RTF-bestand en slaan de resultaten weer op in een S3-bucket. Deze outputs kunnen vervolgens mogelijk worden gebruikt voor indiening van regelgeving, op voorwaarde dat de R-pakketten die in de post worden gebruikt, door de klant zijn gevalideerd voor gebruik voor indiening van regelgeving.

RStudio instellen op SageMaker

Raadpleeg voor instructies over het instellen van RStudio op SageMaker in uw omgeving: Ga aan de slag met RStudio op SageMaker. Zorg ervoor dat de uitvoeringsrol van RStudio op SageMaker toegang heeft om gegevens te downloaden en te uploaden naar de S3-bucket waarin gegevens zijn opgeslagen. Raadpleeg voor meer informatie over het beheren van R-pakketten en het publiceren van uw analyse met RStudio op SageMaker: Aankondiging van volledig beheerde RStudio op SageMaker voor gegevenswetenschappers.

Gegevens opnemen in RStudio

In deze stap nemen we gegevens op uit verschillende bronnen om deze beschikbaar te maken voor onze R-sessie. We importeren gegevens in SAS XPT-formaat; het proces is echter vergelijkbaar als u gegevens in andere indelingen wilt opnemen. Een van de voordelen van het gebruik van RStudio op SageMaker is dat als de brongegevens zijn opgeslagen in uw AWS-accounts, SageMaker native toegang heeft tot de gegevens met AWS Identiteits- en toegangsbeheer (IAM) rollen.

Toegang tot gegevens die zijn opgeslagen in een externe repository

In deze stap importeren we ADaM-gegevens uit de GitHub-repository van de FDA. We maken een lokale map met de naam data in de RStudio-omgeving om de gegevens op te slaan en demografische gegevens te downloaden (dm.xpt) uit de externe repository. In deze context verwijst de lokale map naar een map die is gemaakt op uw privé Amazon EFS-opslag die standaard is gekoppeld aan uw R-sessieomgeving. Zie de volgende code:

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

Wanneer deze stap is voltooid, kunt u zien dm.xpt gedownload door te navigeren naar Bestanden, gegevens, dm.xpt.

Toegang tot gegevens die zijn opgeslagen in Amazon S3

In deze stap downloaden we gegevens die zijn opgeslagen in een S3-bucket in ons account. We hebben inhoud gekopieerd van de GitHub-repository van de FDA naar de S3-bucket met de naam aws-sagemaker-rstudio voor dit voorbeeld. Zie de volgende code:

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

Wanneer de stap is voltooid, kunt u zien pp.xpt gedownload door te navigeren naar Bestanden, gegevens, pp.xpt.

XPT-gegevens verwerken

Nu we SAS XPT-bestanden beschikbaar hebben in de R-omgeving, moeten we ze converteren naar R-dataframes en ze verwerken. Wij gebruiken de haven bibliotheek om XPT-bestanden te lezen. We voegen CDISC SDTM-datasets samen dm en pp om een ​​ADPP-gegevensset te maken. Vervolgens maken we een samenvattende statistische tabel met behulp van het ADPP-gegevensframe. De overzichtstabel wordt vervolgens geëxporteerd in RTF-indeling.

Eerst worden XPT-bestanden gelezen met de read_xpt functie van de havenbibliotheek. Vervolgens wordt een analysegegevensset gemaakt met behulp van de sqldf functie van de sqldf bibliotheek. Zie de volgende code:

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

Vervolgens wordt een uitvoergegevensframe gemaakt met behulp van functies uit de Tplyr en dplyr bibliotheken:

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

Het uitvoergegevensframe wordt vervolgens opgeslagen als een RTF-bestand in de uitvoermap in de RStudio-omgeving:

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

Uitgangen uploaden naar Amazon S3

Nadat de uitvoer is gegenereerd, plaatsen we de gegevens terug in een S3-bucket. We kunnen dit bereiken door opnieuw een SageMaker-sessie te maken, als een sessie nog niet actief is, en de inhoud van de uitvoermap te uploaden naar een S3-bucket met behulp van de session$upload_data functie:

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

Met deze stappen hebben we gegevens opgenomen, verwerkt en geüpload om de resultaten beschikbaar te maken voor indiening bij regelgevende instanties.

Opruimen

Om onbedoelde kosten te voorkomen, moet u uw huidige sessie beëindigen. Kies in de rechterbovenhoek van de pagina het energiepictogram. Hierdoor wordt de onderliggende instantie automatisch gestopt en worden er dus geen onbedoelde rekenkosten meer gemaakt.

Gebruik RStudio op Amazon SageMaker om regelgevingsinzendingen te maken voor de life sciences-industrie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Uitdagingen

Het bericht heeft stappen geschetst voor het opnemen van onbewerkte gegevens die zijn opgeslagen in een S3-bucket of van een externe repository. Er zijn echter veel andere bronnen van onbewerkte gegevens voor een klinische proef, voornamelijk eCRF-gegevens (elektronische casusrapportformulieren) die zijn opgeslagen in EDC-systemen (elektronische gegevensverzameling), zoals Oracle Clinical, Medidata Rave, OpenClinica of Snowflake; laboratoriumgegevens; gegevens van eCOA (klinische uitkomstbeoordeling) en ePRO (elektronische patiëntgerapporteerde uitkomsten); real-world gegevens van apps en medische apparaten; en elektronische medische dossiers (EPD's) in de ziekenhuizen. Er is een aanzienlijke voorbewerking nodig voordat deze gegevens bruikbaar kunnen worden gemaakt voor indiening door regelgeving. Het bouwen van connectoren naar verschillende gegevensbronnen en het verzamelen ervan in een gecentraliseerde gegevensrepository (CDR) of een klinisch datameer, met behoud van de juiste toegangscontroles, vormt aanzienlijke uitdagingen.

Een andere belangrijke uitdaging die moet worden overwonnen, is de naleving van de regelgeving. Het computersysteem dat wordt gebruikt voor het maken van outputs voor het indienen van regelgeving, moet voldoen aan de toepasselijke regelgeving, zoals 21 CFR Part 11, HIPAA, GDPR of andere GxP-vereisten of ICH-richtlijnen. Dit vertaalt zich in werken in een gevalideerde en gekwalificeerde omgeving met controles voor toegang, beveiliging, back-up en controleerbaarheid. Dit betekent ook dat alle R-pakketten die worden gebruikt om outputs van de regelgevende indiening te creëren, vóór gebruik moeten worden gevalideerd.

Conclusie

In dit bericht zagen we dat enkele van de belangrijkste resultaten voor een eCTD-inzending CDISC SDTM, ADaM-datasets en TLF waren. Dit bericht schetste de stappen die nodig zijn om deze regelgevende inzendingsproducten te maken door eerst gegevens uit een aantal bronnen op te nemen in RStudio op SageMaker. Vervolgens hebben we gezien hoe we de opgenomen gegevens in XPT-formaat kunnen verwerken; converteer het naar R-dataframes om SDTM, ADaM en TLF te maken; en upload vervolgens de resultaten naar een S3-bucket.

We hopen dat statistische programmeurs en biostatistici met de brede ideeën die in de post zijn uiteengezet, gemakkelijk het end-to-end proces van het laden, verwerken en analyseren van onderzoeksgegevens van klinische proeven in RStudio op SageMaker kunnen visualiseren en de lessen kunnen gebruiken om een ​​aangepaste workflow die geschikt is voor uw regelgevende inzendingen.

Kun je andere toepassingen bedenken om RStudio te gebruiken om onderzoekers, statistici en R-programmeurs te helpen hun leven gemakkelijker te maken? We horen graag uw ideeën! En als je vragen hebt, deel ze dan in het opmerkingengedeelte.

Resources

Bezoek de volgende links voor meer informatie:


Over de auteurs

Gebruik RStudio op Amazon SageMaker om regelgevingsinzendingen te maken voor de life sciences-industrie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Rohit Banga is een Global Clinical Development Industry Specialist, gevestigd in Londen, VK. Hij is een biostatisticus van opleiding en helpt klanten in de gezondheidszorg en LifeScience om innovatieve klinische ontwikkelingsoplossingen op AWS te implementeren. Hij is gepassioneerd over hoe datawetenschap, AI/ML en opkomende technologieën kunnen worden gebruikt om echte zakelijke problemen binnen de gezondheidszorg en de LifeScience-industrie op te lossen. In zijn vrije tijd houdt Rohit van skiën, barbecueën en tijd doorbrengen met familie en vrienden.

Gebruik RStudio op Amazon SageMaker om regelgevingsinzendingen te maken voor de life sciences-industrie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Georgios Schinas is Specialist Solutions Architect voor AI/ML in de EMEA-regio. Hij is gevestigd in Londen en werkt nauw samen met klanten in het VK en Ierland. Georgios helpt klanten bij het ontwerpen en implementeren van machine learning-applicaties in productie op AWS met een bijzondere interesse in MLOps-praktijken en om klanten in staat te stellen machine learning op grote schaal uit te voeren. In zijn vrije tijd houdt hij van reizen, koken en tijd doorbrengen met vrienden en familie.

Tijdstempel:

Meer van AWS-machine learning