Clinical trial matching is crucial to advancing medical treatments, yet it remains a very manual and time-consuming process. This project leverages recent advancements in LLMs, particularly enhanced reasoning capabilities, to provide more nuanced eligibility explanations and improve matching accuracy.
Building on TrialGPT's framework (NIH: 87.3% accuracy, 42.6% screening time reduction), the approach incorporates Deep Seek R1 as an advanced reasoning model. The system filters trials by key criteria (location, recruiting status, age, sex), identifies relevant trials, ranks interventions by relevance, and explains eligibility decisions.
Initial testing uses Deep Seek R1 through LLM Factory. Test data from Synthea (synthetic patient records) and the ClinicalTrials.gov API.
Inspired by TrialGPT.
Early stages with updates to come. Source code on GitHub.
Uses LLM Factory for inference. Development costs include GPU-powered inference time.
Source code on GitHub.
pip install -r requirements.txt` which will be all you need for the next step.2. Setting Up Neo4J
I would recommend using Neo4J Desktop as it was by far the easiest way
to create a database for the purposes of this project. The current code assumes that your database
is set up to use a standard port configuration for neo4j. This is shown in the config.json.Once you have a database built, check that your config will match your desired database setup.
Once that's true, then the
create_neo4j.py file can be run to ingest pubmed24n0001.xml provided
you have added it to the repository. It can be found here: https://ftp.ncbi.nlm.nih.gov/pubmed/baseline/If you'd like to use another version of the Annual Baseline, you need to change the file name at line 67 in
create_neo4j.py.This part will need to run for quite a while as it builds all the many nodes and edges based on this data. My
current version required
2.38 GB of space for the data to be stored.3. Building the React App
So long as you have Node.js installed, the setup for this app will be easy. CD into the PubMed Search Frontend
directory. Run npm install to initialize the required node modules. To run the frontend service you must run
this command: `npm run dev`.4. Start the LLM Server
To start the python server, all you need to do is run `server.py``. You will not be able to access any LLM services without
configuring the config.json file to ensure that it has the correct API endpoint and service for your solution. Additionally,
you'll need to ensure that your API key is correct for the service of your choice.Additionally, the project is licensed under the provisions of the GNU 3.0 license.