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

def find_structures_derived_from(self, ids):

    found_structure_ids = set()
    structures = []
    for (_, record) in self._active_records:
        for structure in record.structures.values():
            if (structure.get('previous_version') in ids):
                structures.append(structure)
                if ('_id' in structure):
                    found_structure_ids.add(structure['_id'])
    structures.extend((structure for structure in self.db_connection.find_structures_derived_from(ids) if (structure['_id'] not in found_structure_ids)))
    return structures
