code: def insert(self, index, child, by_name_index=-1):
          
          if self._can_add_child(child):
              try:
                  if by_name_index == -1:
                      self.indexes[child.name].append(child)
                  else:
                      self.indexes[child.name].insert(by_name_index, child)
              except KeyError:
                  self.indexes[child.name] = [child]
              self.list.insert(index, child)
docs: Add the child at the given index
  
          :type index: ``int``
          :param index: child position
  
          :type child: :class:`Element <hl7apy.core.Element>`
          :param child: an instance of an :class:`Element <hl7apy.core.Element>` subclass