'Return all structures that were immediately derived from a structure listed in ``ids``.
Arguments:
ids (list): A list of structure ids'

@autoretry_read()
def find_structures_derived_from(self, ids, course_context=None):

    with TIMER.timer('find_structures_derived_from', course_context) as tagger:
        tagger.measure('base_ids', len(ids))
        docs = [structure_from_mongo(structure, course_context) for structure in self.structures.find({'previous_version': {'$in': ids}})]
        tagger.measure('structures', len(docs))
        return docs
