inspectomop.queries.drug.indications_for_drug_concept_id

inspectomop.queries.drug.indications_for_drug_concept_id(concept_id, inspector, return_columns=None)

Find all indications for a drug given a concept_id. Returns matches from NDFRT, FDB, and corresponding SNOMED conditions.

*Note: The results set should be filtered by ‘c_domain_id’ == ‘Condition’

Parameters:
  • concept_id (int) –
  • inspector (inspectomop.inspector.Inspector) –
  • return_columns (list of str, optional) –
    • optional subset of columns to return from the query
    • columns : [‘c_concept_id’, ‘c_concept_name’, ‘c_domain_id’, ‘min_levels_of_separation’, ‘an_concept_id’, ‘an_concept_name’, ‘an_vocab’, ‘de_concept_id’, de_concept_name’, ‘de_vocab’]
Returns:

results

Return type:

inspectomop.results.Results

Notes

SQL (see 2nd example for actual implimentation)

D13: Find indications as condition concepts for a drug:

select
    a.min_levels_of_separation as a_min,
    an.concept_id as an_id,
    an.concept_name as an_name,
    an.vocabulary_id as an_vocab,
    an.domain_id as an_domain,
    an.concept_class_id as an_class,
    de.concept_id as de_id,
    de.concept_name as de_name,
    de.vocabulary_id as de_vocab,
    de.domain_id as de_domain,
    de.concept_class_id as de_class
from
    concept an
join
    concept_ancestor a on a.ancestor_concept_id=an.concept_id
join
    concept de on de.concept_id=a.descendant_concept_id
where
    an.concept_class_id in ('Ind / CI', 'Indication') -- One is for NDFRT, the other for FDB Indications
    and de.vocabulary_id in ('RxNorm', 'RxNorm Extension') -- You don't need that if you join directly with DRUG_EXPOSURE
    and lower(an.concept_name) like '%diabetes%'
To tie directly to SNOMED concepts, this query is used
select
c.concept_id as c_id, c.concept_name as c_name, c.vocabulary_id as c_vocab, c.domain_id as c_domain, c.concept_class_id as c_class, – Condition de.concept_id as de_id, de.concept_name as de_name, de.vocabulary_id as de_vocab, de.domain_id as de_domain, de.concept_class_id as de_class – Drug
from
concept an – Indications
join
concept_ancestor a on a.ancestor_concept_id=an.concept_id – connect to
join
concept de on de.concept_id=a.descendant_concept_id – …drug
join
concept_relationship r on r.concept_id_1=an.concept_id – connect to
join
concept c on c.concept_id=r.concept_id_2 and c.domain_id=’Condition’ – Snomed Conditions
where
an.concept_class_id in (‘Ind / CI’, ‘Indication’) and de.vocabulary_id in (‘RxNorm’, ‘RxNorm Extension’) and lower(c.concept_name) like ‘%diabet%’