feat(clinical_report): add FDA NME compilation as a provider - #76
ireneisdoomed wants to merge 3 commits into
Conversation
|
Here's the disease label distribution, showing that most cases involve <3 disease labels: Here's the most extreme case: The extracted diseases are genuine indications, not comorbidities. The only wrong condition I see is |
|
Pulled the compilation down and ran your parser over it to check a few things. It holds up well — the ingredient splitting in particular is clearly written against this file: all 69 multi-ingredient rows are genuine combinations and come out right, including the awkward ones ( One real gap, plus a few notes. Secondary application numbers are dropped ( The input should come through PIS. - name: copy fda nme compilation
source: https://www.fda.gov/media/177921/download?attachment
destination: input/clinical_report/fda_nme.xlsxThat URL returns exactly the file your config names. It's served as Please don't route it via On "updated every day of the week" — the FDA page says updates "will be made annually after the new approvals are confirmed with the system of record". I think that's Drugs@FDA being conflated in. Doesn't change the value here (the timestamps are the point), but worth pinning a version rather than relying on freshness. FWIW the file is 1,387 rows today against the 1,292 in your description, so it has moved since your run. On orphan drug / accelerated approval — yes, worth capturing, and the columns are already sitting in the sheet: On the background-condition NER — agree, merge as-is. The verteporfin case is a precision cost rather than a correctness bug, and I think you're right that the net gain is positive. As we discussed, a good way to put a number on that: take the drugs that appear both here and in ChEMBL/DailyMed and use an LLM judge to check whether the conditions line up. The FDA indications come from NER over free text while DailyMed's are curated, so the overlap is a natural precision test for the extraction — and it would turn the background-condition question into a measurement rather than spot checks. |
Summary
This PR adds a connector to FDA NME compilation:
Notes
The most important thing to know here is that this is:
In the input data there are interesting fields I am not capturing, most importantly if it is an orphan drug or if it went through accelerated approval. Should I include this?
The intention of the PR is to add the connector. To include that as part of a release process, changes in
pipelineare necessary.Data metrics
Despite this fact, I thought it would be interesting to know if it was worth integrating, since the data comes in an Excel format very similar to the EMA Human Drugs data. It would be easy to ingest and it is updated every day of the week.
Here's a summary of the results:
Approval coverage
The main sources to compare this data with are ChEMBL's FDA and Dailymed. We have a low coverage of approved drugs where
provider = ChEMBL + source = FDA(541). However,provider = ChEMBL + source = Dailymed(1,482) is not bad in terms of drug coverage (unclear how up-to-date we are in terms of drug/indication pairs).Top 2 diagrams is a comparison against ChEMBL data / bottom represents other approvals

Even though the overlap is big, I think this dataset is interesting because:
Approval timestamp coverage
Example clinical reports
1. elamipretide and Barth syndrome - covered by trials but approval was missing
2. sofpironium and primary axillary hyperhidrosis - new drug with an unknown clinical status; unfortunately disease is not mapped
3. gemifloxacin mesylate and bronchitis - latest drug indication for a drug we didn't have any clinical precedence for
Caveats
The format of this dataset is very easy to ingest, very similar to EMA: except for how the indication is reported.
indicationTextcontains a brief sentence with the main description of the drug intended use coming from the drug label. This means that this field is free text, therefore cannot be mapped directly.How I partially addressed this is by doing NER on this free text field. This worked relatively well: 91% of FDA references have a disease mapped. However, because the NER identifies conditions but lacks context, sometimes we extract the background condition as being associated with the drug.
That is what is happening here for Verteporfin/choroidal neovascularisation. That is a symptom of the particular cohort of patients with macular degeneration, not the primary indication. I've reviewed the examples and don't see anything blatantly wrong, so I believe the gain is positive. To address this, we need a model for therapeutic relationships. I think that developing this is possible and within our scope.