@utilities.arguments_not_none<EOL><INDENT>def get_proficiencies_by_ids(self, proficiency_ids):<DEDENT>
<EOL>collection = JSONClientValidated('<STR_LIT>',<EOL>collection='<STR_LIT>',<EOL>runtime=self._runtime)<EOL>object_id_list = []<EOL>for i in proficiency_ids:<EOL><INDENT>object_id_list.append(ObjectId(self._get_id(i, '<STR_LIT>').get_identifier()))<EOL><DEDENT>result = collection.find(<EOL>dict({'<STR_LIT>': {'<STR_LIT>': object_id_list}},<EOL>**self._view_filter()))<EOL>result = list(result)<EOL>sorted_result = []<EOL>for object_id in object_id_list:<EOL><INDENT>for object_map in result:<EOL><INDENT>if object_map['<STR_LIT>'] == object_id:<EOL><INDENT>sorted_result.append(object_map)<EOL>break<EOL><DEDENT><DEDENT><DEDENT>return objects.ProficiencyList(sorted_result, runtime=self._runtime, proxy=self._proxy)<EOL>
Gets a ``ProficiencyList`` corresponding to the given ``IdList``.

        arg:    proficiency_ids (osid.id.IdList): the list of ``Ids`` to
                retrieve
        return: (osid.learning.ProficiencyList) - the returned
                ``Proficiency`` list
        raise:  NotFound - an ``Id`` was not found
        raise:  NullArgument - ``proficiency_ids`` is ``null``
        raise:  OperationFailed - unable to complete request
        raise:  PermissionDenied - authorization failure
        *compliance: mandatory -- This method must be implemented.*