cancervariants / therapy-normalization

Services and guidelines for normalizing drug and other therapy terms
https://normalize.cancervariants.org/therapy/
MIT License
10 stars 3 forks source link

Capture EPCs for Drug Concepts #436

Open mcannon068nw opened 1 month ago

mcannon068nw commented 1 month ago

We should consider grabbing established pharmacologic classes (EPC) when available for drug concept groups. This information would have clinical benefits for downstream applications of Thera-py, such as in DGIdb where this EPC could help inform clinical relevance of interaction data.

This is available from sources like DailyMed. An example from https://rxnav.nlm.nih.gov/REST/rxclass/class/byDrugName.json?drugName=imatinib&relaSource=DAILYMED&relas=has_epc ->

{
  "rxclassDrugInfoList": {
    "rxclassDrugInfo": [
      {
        "minConcept": {
          "rxcui": "282388",
          "name": "imatinib",
          "tty": "IN"
        },
        "rxclassMinConceptItem": {
          "classId": "N0000175605",
          "className": "Kinase Inhibitor",
          "classType": "EPC"
        },
        "rela": "has_epc",
        "relaSource": "DAILYMED"
      }
    ]
  }
}
mcannon068nw commented 1 month ago

Examples of other sources through RxNav API that might also have this type of data: https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxClass.getSourcesOfDrugClassRelations.html

<rxclassdata>
    <relaSourceList>
        <relaSourceName>ATC</relaSourceName>
        <relaSourceName>ATCPROD</relaSourceName>
        <relaSourceName>DAILYMED</relaSourceName>
        <relaSourceName>FDASPL</relaSourceName>
        <relaSourceName>FMTSME</relaSourceName>
        <relaSourceName>MEDRT</relaSourceName>
        <relaSourceName>RXNORM</relaSourceName>
        <relaSourceName>SNOMEDCT</relaSourceName>
        <relaSourceName>VA</relaSourceName>
    </relaSourceList>
</rxclassdata>
mcannon068nw commented 1 month ago

Additional documentation on EPC: https://www.fda.gov/media/77834/download

mcannon068nw commented 1 month ago

Also on the subject, might actually be useful to just grab both EPCs and MOAs

jsstevenson commented 1 month ago

We should put some firm requirements on what data we want, and for what purposes -- I think that will help us divvy up responsibilities for fetching and serving this. My general preference would be to fetch(/store?) data with regbot and then expose it in a way that the normalizer can easily integrate into downstream sources like DGIdb (e.g. DailyMed as a drug claim source that provides drug classes) or MetaKB (some kind of annotation onto therapies for grouping).

mcannon068nw commented 1 month ago

I can figure out where all of this lives reliably, but immediately I'm thinking we would probably want EPC plus the components that contribute to EPC definition: Mechanism of Action (MOA), Physiologic Effect (PE), and Chemical Structure (CS).

I think EPC, MOA, and CS have clear applications for classification and function in dgidb. For PE, looking at some examples of this field it seems like it is "free text-ish" in that you'll get descriptions that look like "Altered neurotransmitter activity" or "Decreased prostaglandin production". I think while not really standardized, this could potentially have applications in MetaKB as a field attached to TherapeuticAgent nodes.

I am on-board for using regbot to fetch this data. Should I move this issue to the regbot repo?