Inspiration
Regeneron
What it does
- Ingests five mock feeds: EDC (trial database), CTMS (trial management), IRT (drug supply), safety and finance.
- Matches ids: it works out which site and subject ids mean the same thing, recording the method, confidence and evidence for each match. Uncertain matches are flagged or left unmatched, never guessed.
- Answers cross-system questions three ways: plain English (Gemini writes the SQL), a filter form (the query is written by rule, no model involved), or SQL directly.
- Shows its evidence: every answer carries the SQL that ran, the source rows behind each number, how fresh each feed is, the data-quality problems that touch it, and what was withheld from the person asking.
- Controls access by role: people sign in, and their role's grants (patient_level, unblinded, financial) decide what they see. An administrator creates and edits accounts and roles.
- Catalogs and checks the data: a searchable catalog with lineage, plus 27 quality rules that catch all 25 deliberately planted problems.
How we built it
The work was split between the frontend, backend, and harmonizer logic.
Challenges we ran into
Our biggest hurdles were figuring out the smartest way to process the datasets in a way that is reliable and accurate and finding a balance between beginner friendly/user friendly controls and fine tunable control and access.
Accomplishments that we're proud of
We're proud of the amount of progress we've made which we credit to our efficient workflow, as well as having a fully deployable project that includes most of the features we desire.
What we learned
Medallion schema, Gemini API, general naming convention of data models, RBAC and FAIR principles, prompt engineering, and REST APIs
What's next for Concord
Additional fine tunability on the backend. We want to add an integration into the server's file system that allows for them to view the datasets they have in their raw or in their medallion schema. In addition, we want a way for new datasets to be added and old ones to be archived all without any downtime from the host server, this way users can modify update and modify the gold table in real time. We also want to implement big data solutions with Apache Spark/pySpark further along the line to improve performance and handle data that our device cannot handle.
Log in or sign up for Devpost to join the conversation.