Later this month, the Biomedical Research and Education Foundation (BREF) will launch MyClinicalTrialLocator.com, a web application developed by Azavea that connects doctors and patients with medical research worldwide.
At any given time, tens of thousands of hospitals, universities, doctors’ offices, and community clinics around the world are conducting clinical trials. Participants in these studies receive interventions as part of research programs to evaluate new treatments and procedures that hope to improve patients’ outcomes and expand medical knowledge. Information about these studies is freely available through the National Institutes of Health (NIH)’s clinicaltrials.gov, but the amount of data can be overwhelming and difficult to search. BREF worked with Azavea to build an easy-to-use geography-enabled tool that would make searches for such data more efficient.
BREF is a non-profit foundation whose mission is to provide unbiased information resources about biomedical products and services. Azavea and BREF collaborated previously on the Emergency Medical Center Locator (EMCL), an iPhone application that identifies a user’s location and displays nearby emergency medical facilities anywhere across the globe.
The new MyClinicalTrialLocator.com performs a similar role for medical research. The application is actually two distinct components: an advanced data scraping tool and a web application that patients and doctors use to interact with the data. It has been optimized for use on tablets so that research results can easily be accessed from anywhere.
Collecting the data presented some interesting challenges. There are over 130,000 records on clinicaltrials.gov, which are updated daily. Most records have an address, but don’t contain any spatial information (such as coordinates) and therefore can’t immediately be placed on a map. Additionally, the NIH organizes them by trial—not by location. A single trial may be conducted by a large university or hospital system, where the actual patient interaction might occur at any one of dozens of locations. So in addition to the process of literally pulling the trial information, we also had to split each trial up by location and geocode the results. The results are then stored in a PostgreSQL database, spatially enabled using PostGIS, with a schema specifically designed for fast searching. The data collection tools are built using Python and utilizes the open source message brokering software RabbitMQ. RabbitMQ is a pretty interesting open source software package, and we used it to asynchronously process the data collection, parsing, and geocoding of the clinicaltrials.gov data. It enabled us to get through the millions of records in days instead of weeks.
The server side of the web application was built using Python/Django and the client side was built using the Backbone.js MVC framework for handling the UI and search results and Leaflet for the mapping library.