Link Drugs to indications #33

Closed
opened 3 years ago by youainti · 15 comments
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

It is hard to link drugs to indications. There are multiple approaches with their own pros and cons.

It is hard to link drugs to indications. There are multiple approaches with their own pros and cons.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)
https://think-lab.github.io/d/21/ contains a discussion of different approaches people have used. I have attached the contents in the wiki at https://gitea.kgjk.icu/Research/ClinicalTrialsDataProcessing/wiki/Thinklab-notes---How-should-we-construct-a-catalog-of-drug-indications%3F
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

The mentioned SubMedDB sounds interesting.

The mentioned SubMedDB sounds interesting.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

https://drugcentral.org/about
is from University of New Mexico

https://think-lab.github.io/d/186/ has someone's attempt at using it.

https://drugcentral.org/about is from University of New Mexico https://think-lab.github.io/d/186/ has someone's attempt at using it.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Goal is to: Link indications in brows_indications to trials and then to drugs proscribed for said indications.

Goal is to: Link indications in `brows_indications` to trials and then to drugs proscribed for said indications.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Based on what this says, I can link disease (mesh) to disease (snowmed), track down what drugs are indicated for said disease, and then merge that back through RxNorm to our list of brands.

Disease search example:
Supported disease terms are SNOMED-CT and OMOP vocabulary terms. Disease annotations for drugs approved before 2012 originate from OMOP vocabulary mappings. For drugs approved after 2012 disease annotations are extracted manually from approved drug labels and mapped to SNOMED-CT concepts.
Example search for “Chronic Hepatitis C” returns the list of antiviral drugs indicated to treat “Chronic Hepatitis C” followed by drugs contra-indicated in hepatitis C.

Based on what this says, I can link disease (mesh) to disease (snowmed), track down what drugs are indicated for said disease, and then merge that back through RxNorm to our list of brands. >Disease search example: Supported disease terms are SNOMED-CT and OMOP vocabulary terms. Disease annotations for drugs approved before 2012 originate from OMOP vocabulary mappings. For drugs approved after 2012 disease annotations are extracted manually from approved drug labels and mapped to SNOMED-CT concepts. Example search for “Chronic Hepatitis C” returns the list of antiviral drugs indicated to treat “Chronic Hepatitis C” followed by drugs contra-indicated in hepatitis C.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Another option would be to link disease/indication to WHO ATC codes and then just grab drugs indicated for that code. I think this is the simplest and most straightforward way to approach this problem. It has the disadvantage that ATC codes put a drug in a single class even if there are multiple diseases for which it can be indicated. But as a starting point, this is probably ok.

Another option would be to link disease/indication to WHO ATC codes and then just grab drugs indicated for that code. I think this is the simplest and most straightforward way to approach this problem. It has the disadvantage that ATC codes put a drug in a single class even if there are multiple diseases for which it can be indicated. But as a starting point, this is probably ok.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Current thought:

take conditions from brows conditions, get the mesh term/rxcuis for them.
Match these rxcuis against atc code (indexed by rxcuis again).
get all drugs indicated for that rxcui and there you go.

My starting question is how to link the conditions to mesh terms.

Current thought: take conditions from brows conditions, get the mesh term/rxcuis for them. Match these rxcuis against atc code (indexed by rxcuis again). get all drugs indicated for that rxcui and there you go. My starting question is how to link the conditions to mesh terms.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Maybe link each entry in browse_conditions to the ATC database as best you can (inner join?) and then select the ATC categories that are most specific or exceed a certain level of specification in the ATC hierarchy.

Maybe link each entry in `browse_conditions` to the ATC database as best you can (inner join?) and then select the ATC categories that are most specific or exceed a certain level of specification in the ATC hierarchy.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

https://www.oit.va.gov/Services/TRM/StandardPage.aspx?tid=5221
the VA might have another list.

The VA has MED-RT. Don't know if it matches what I'd like here.

https://www.oit.va.gov/Services/TRM/StandardPage.aspx?tid=5221 the VA might have another list. The VA has MED-RT. Don't know if it matches what I'd like here.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

I am able to (manually) match MeSH terms from browse_condidtions to mesh terms for conditions using https://id.nlm.nih.gov/mesh/lookup?form=descriptor

I believe rxnorm_current.rxnorm_props has a way to link MeSH (drug) terms to RxCUIs. So what I might need to do is get the mesh terms, then link to ATC that way?

I am able to (manually) match MeSH terms from `browse_condidtions` to mesh terms for conditions using https://id.nlm.nih.gov/mesh/lookup?form=descriptor I believe rxnorm_current.rxnorm_props has a way to link MeSH (drug) terms to RxCUIs. So what I might need to do is get the mesh terms, then link to ATC that way?
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

So, I have not been able to find a way to link conditions -> normalized indications -> drugs. Mostly that last step has been the issue.

So I think I am going to go "compounds -> ATC class -> other compounds in ATC class"

So, I have not been able to find a way to link conditions -> normalized indications -> drugs. Mostly that last step has been the issue. So I think I am going to go "compounds -> ATC class -> other compounds in ATC class"
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

So it turns out that in the SPLs, there is a section that lists indications and usages. In the XML this shows up something like:

<component>
    <section ID="s1">
        <id root="f536da82-9c73-99bd-e053-2995a90addc3"/>
        <code code="34067-9" codeSystem="2.16.840.1.113883.6.1" displayName="INDICATIONS &amp; USAGE SECTION"/>
        <title>1 INDICATIONS AND USAGE</title>
        <effectiveTime value="20221231"/>
        <excerpt>
            <highlight>
                <text>
                    <paragraph>Bendamustine hydrochloride for Injection is an alkylating drug indicated for treatment of patients with:</paragraph>
                    <list listType="unordered">
                        <item>
                            Chronic lymphocytic leukemia (CLL). Efficacy relative to first line therapies other than chlorambucil has not been established. (<linkHtml href="#s1.1">1.1</linkHtml>)
                        </item>
                        <item>
                            Indolent B-cell non-Hodgkin lymphoma (NHL) that has progressed during or within six months of treatment with rituximab or a rituximab-containing regimen. (<linkHtml href="#s1.2">1.2</linkHtml>)
                        </item>
                    </list>
                </text>
            </highlight>
        </excerpt>
        <component>
            <section ID="s1.1">
                <id root="f536da82-9c74-99bd-e053-2995a90addc3"/>
                <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/>
                <title>1.1  Chronic Lymphocytic Leukemia (CLL)</title>
                <text>
                    <paragraph>Bendamustine hydrochloride for Injection is indicated for the treatment of patients with chronic lymphocytic leukemia. Efficacy relative to first line therapies other than chlorambucil has not been established.</paragraph>
                </text>
                <effectiveTime value="20221231"/>
            </section>
        </component>
        <component>
            <section ID="s1.2">
                <id root="f536da82-9c75-99bd-e053-2995a90addc3"/>
                <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/>
                <title>1.2  Non-Hodgkin Lymphoma (NHL)</title>
                <text>
                    <paragraph>Bendamustine hydrochloride for Injection is indicated for the treatment of patients with indolent B-cell non-Hodgkin lymphoma that has progressed during or within six months of treatment with rituximab or a rituximab-containing regimen. </paragraph>
                </text>
                <effectiveTime value="20221231"/>
            </section>
        </component>
    </section>
</component>

Note the codeSystem="2.16.840.1.113883.6.1" which matches this documentation linking to snowmed-ct.

There isn't a direct link, although looking up the titles of each indication component seems to show up just fine in snowmed.

So, extracting these indications looks something like:

  1. unzip file
  2. read xml and grab the indications section titles
  3. standardize titles and search in snowmed-ct
  4. take snowmed ids and run them through a filter to get other drugs used for that condition.
So it turns out that in the SPLs, there is a section that lists indications and usages. In the XML this shows up something like: ```xml <component> <section ID="s1"> <id root="f536da82-9c73-99bd-e053-2995a90addc3"/> <code code="34067-9" codeSystem="2.16.840.1.113883.6.1" displayName="INDICATIONS &amp; USAGE SECTION"/> <title>1 INDICATIONS AND USAGE</title> <effectiveTime value="20221231"/> <excerpt> <highlight> <text> <paragraph>Bendamustine hydrochloride for Injection is an alkylating drug indicated for treatment of patients with:</paragraph> <list listType="unordered"> <item> Chronic lymphocytic leukemia (CLL). Efficacy relative to first line therapies other than chlorambucil has not been established. (<linkHtml href="#s1.1">1.1</linkHtml>) </item> <item> Indolent B-cell non-Hodgkin lymphoma (NHL) that has progressed during or within six months of treatment with rituximab or a rituximab-containing regimen. (<linkHtml href="#s1.2">1.2</linkHtml>) </item> </list> </text> </highlight> </excerpt> <component> <section ID="s1.1"> <id root="f536da82-9c74-99bd-e053-2995a90addc3"/> <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/> <title>1.1  Chronic Lymphocytic Leukemia (CLL)</title> <text> <paragraph>Bendamustine hydrochloride for Injection is indicated for the treatment of patients with chronic lymphocytic leukemia. Efficacy relative to first line therapies other than chlorambucil has not been established.</paragraph> </text> <effectiveTime value="20221231"/> </section> </component> <component> <section ID="s1.2"> <id root="f536da82-9c75-99bd-e053-2995a90addc3"/> <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/> <title>1.2  Non-Hodgkin Lymphoma (NHL)</title> <text> <paragraph>Bendamustine hydrochloride for Injection is indicated for the treatment of patients with indolent B-cell non-Hodgkin lymphoma that has progressed during or within six months of treatment with rituximab or a rituximab-containing regimen. </paragraph> </text> <effectiveTime value="20221231"/> </section> </component> </section> </component> ``` Note the `codeSystem="2.16.840.1.113883.6.1"` which matches [this documentation linking to snowmed-ct](https://www.fda.gov/industry/structured-product-labeling-resources/medical-condition). There isn't a direct link, although looking up the titles of each indication component seems to show up just fine in snowmed. So, extracting these indications looks something like: 1. unzip file 1. read xml and grab the indications section titles 1. standardize titles and search in snowmed-ct 1. take snowmed ids and run them through a filter to get other drugs used for that condition.
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

Checking if indications -> drugs are linked in https://drugcentral.org/ActiveDownload

No, the linking doesn't appear to show up there. The public.section table has the contents, but it isn't directly linked. I may need to dig a bit more.

select distinct title from section 
order by title
limit 100;

--this gets indications and usage
select * from public."section" s 
where code = '42229-5'
order by label_id 
limit 100;
Checking if indications -> drugs are linked in https://drugcentral.org/ActiveDownload No, the linking doesn't appear to show up there. The `public.section` table has the contents, but it isn't directly linked. I may need to dig a bit more. ```sql select distinct title from section order by title limit 100; --this gets indications and usage select * from public."section" s where code = '42229-5' order by label_id limit 100; ```
youainti commented 3 years ago (Migrated from gitea.kgjk.icu)

The Disease Ontology doesn't have links from diseases to drugs either.

The Disease Ontology doesn't have links from diseases to drugs either.

I am going to close this as it is a fundamentally difficult problem. I don't have a nice solution for it but I think I can achieve something similar based on what I am doing in #40.

I am going to close this as it is a fundamentally difficult problem. I don't have a nice solution for it but I think I can achieve something similar based on what I am doing in #40.
youainti closed this issue 3 years ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: youainti/ClinicalTrialsDataProcessing#33
Loading…
There is no content yet.