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:

inspectomop.results.Results

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