Clinical Trial Marketplace Data Science Application
An advanced data analytics application to provide insights into the data being collected and stored globally for Pharmaceutical clinical trials
- An advanced data analytics application based on microservice architecture to provide near immediate insights into the data being collected and stored globally for Pharmaceutical clinical trials from initiation to completion. The data will be collected from 6 sources:
- Three CDISC compliant structured data sources known as: SDTM, CDASH, and ADaM
- Unstructured data from Handwritten clinical notes
- Clinical trial data from ClinicalTrials.gov
- The platform must use entity identification, resolution and disambiguation techniques to properly associate the following:
- Names of people, symptoms, drugs, diagnoses, concepts or ideas so that the same idea can be found no matter how it is expressed (high blood pressure vs. hypertension), relationships such as cause and affect or side effects, exercise, categories so that similar documents are grouped together, sentiment or opinion, and location
- Create a set of services such as bots that download clinical trial data from ClinicalTrials.gov. The bot should simulate the user experience downloading web data and adding to the data store for analysis with other datasets.
- Index the scraped content and apply necessary analysers to perform interesting searches and facet queries.
- A Restful API with the following capabilities:
- API Lifecycle Management
- API Governance
- Developer enablement
- API Management solution and cost
- Solution Pricing Manageability
- The proposed architecture should be based on open source and on non-hadoop stack as the type of the data has more variety than velocity and volume.
- The NLP component should be based on Python due to the customers’ data science skill sets.
- None of the components in the architecture should rely on any particular cloud services due to data confidentiality.
- All the components are based on open source and doesn’t rely on any cloud services.
- Purpose of the specific components used in the architecture:
- Selenium & Nutch for scraping
- Logstash to process logs
- Apache Camel for mediation and routing for both data processing and as API Gateway
- Talend for ingestion mechanism and to perform mapping of input and output fields
- NLTK & Scikit for Natural Language processing needs with respect to entity identification and resolution
- Storm for processing the messages from Kafka which are sent from the respective ingestion layer
- MySQL to store user preferences and metadata
- MongoDB to store raw and transient data and also responsible for data lineage
- ElasticSearch for end user search, log aggregation, and usage metrics
- LDAP & JOSSO was used for security and single sign-on purpose
THE SOLUTION DIAGRAM: