inspectomop.queries.general.siblings_for_concept_id¶
- inspectomop.queries.general.siblings_for_concept_id(concept_id, inspector, return_columns=None)¶
Find all sibling concepts for a concept_id i.e.(concepts that share common parents). This may or may not result in concepts that have a close clinical relationship, especially if the query concept_id is already high up in the hierarchy or has multiple parents that diverge in their meaning.
- Parameters:
concept_id (int) – concept_id of interest from the concept table
inspector (inspectomop.inspector.Inspector)
return_columns (list of str, optional) –
optional subset of columns to return from the query
- columns[‘sibling_concept_id’, ‘sibling_concept_name’,’sibling_concept_code’,’sibling_concept_class_id’,
’sibling_concept_vocabulary_id,’parent_concept_id’,’parent_concept_name’]
- Returns:
results
- Return type:
Notes
SQL:
SELECT s.concept_id AS sibling_concept_id, s.concept_name AS sibling_concept_name, a.concept_id AS parent_concept_id, a.concept_name AS parent_concept_name FROM main.concept AS s, main.concept AS a, main.concept_ancestor AS ca, main.vocabulary AS va, main.concept AS d, main.concept_ancestor AS ca2 WHERE ca.descendant_concept_id = concept_id AND ca.min_levels_of_separation = 1 AND ca.ancestor_concept_id = a.concept_id AND a.vocabulary_id = va.vocabulary_id AND ca.descendant_concept_id = d.concept_id AND ca2.ancestor_concept_id = ca.ancestor_concept_id AND s.concept_id = ca2.descendant_concept_id