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: 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%’