Package: sdtm-mapper
sdtm-mapperSam TomiokaFeb 2019AboutInstallationTutorialsNotesIssuesDisclaimerReferencesAboutsdtm-mapperis a Python package to generate machine readable CDISC SDTM mapping specifications with help from AI. This can be used for following tasks.Generates an empty specifications for training data from a user provided SAS dataset. This empty specification will contain SAS dataset attributes.  You don't need to useProc Contentsin SAS to do this! SAS datasets maybe in your aws s3 bucket or local folder.Runs models to generate a mapping specifications.Generates your own mapping algorithms using your data. The models can be trained to generate the target variables but also programming sudo code.The first version comes withthree pre-trained models(Included in the package). These are trained on feed forward NN with trainable ELMo embedding layer for 34 classes usingadverse eventdatasets from 18 clinical trials, and validation was done on 3 clinical trials until the models were optimized. Test was done on 1 clinical trial. 22 clinical trials data are extracted fromMedidata Ravebuilt by 3 different CROs and Sunovion Pharmaceuticals.ModelsParametersTraining AccValidation AccTest Acc*1. Elmo+sfnn+ae+Model1.h5271,1420.97950.98000.95402. Elmo+fnn+ae+Model2.h5664,8700.98461.00000.94253. Elmo+fnn+ae+Model3.h5594,8540.99661.00000.9666Table 1 - Performance of three models* Macro accuracy account for system variables for 'drop'.High variance models may be due to addition of CDASH metadata, and probably better to remove them.Improvement of the task specific model are explored by Peters et.al [1]:Freeze context-independent representations from the pre-trained biLM and concatenate them and $ELMo^{task}_{k}$ and pass that into task RNN.Replacing $h_k$ with $[x_k; ELMo^{task}_{k}]$. Peters et.al [1] has shown improved performance in some tasks such as SNLI and SQuAD by including ELMo at the output of the task RNN.Add a moderate amount of dropout to ELMo.Regularize the ELMo weights by adding $\gamma||w||^2_2$ to the loss function.These can be considered as future enhancment for other domains that may not perform well.Here is the architecture of ELMo.Figure 1- biLM architecture for ELMoInstallationpip install sdtm-mapperTutorialsTutorial on how to use sdtm-mapper to generate mapping specificationsTry this on Colab!Train your data using SDTMMapper on Model 1: Note that you need to supply your training data.NotesYou have to have an environment to usetensorflow,tensorflow-hubetc.If you want to contribute for adding more models for different SDTM domains, please joinPhUSE ML Project Community. Most of the work has been done during the weekends or evening. Your contributions are always welcome!Notes about the trained models:The models were build and trained on raw AE datasets from clincial trials conducted by Sunovion Pharmaceuticals. The EDC system we use is Medidata RaveX. The training data contains some e-source data. The performance may not be good for your data.  You can also build your models using SDTMMapper tool and use your custom model for your datasets.Old reame file is foundhereIssuesFor any questions, comments, suggestions, or issues, please post themhereFor personal communication related to SDTMMapper, please contactSam TomiokaDisclaimerThis is not an official Sunovion Pharmaceuticals product.References1] Peters,M et al. (2018). Deep contextualized word representations