code: def get_mesh_id_name(mesh_term, offline=False):
      
      indra_mesh_id = mesh_name_to_id.get(mesh_term)
      if indra_mesh_id is not None:
          return indra_mesh_id, mesh_term
  
      indra_mesh_id, new_term = \
          mesh_name_to_id_name.get(mesh_term, (None, None))
      if indra_mesh_id is not None:
          return indra_mesh_id, new_term
  
      if offline:
          return None, None
  
      # Look up the MESH mapping from NLM if we don't have it locally
      return get_mesh_id_name_from_web(mesh_term)
docs: Get the MESH ID and name for the given MESH term.
  
      Uses the mappings table in `indra/resources`; if the MESH term is not
      listed there, falls back on the NLM REST API.
  
      Parameters
      ----------
      mesh_term : str
          MESH Descriptor or Concept name, e.g. 'Breast Cancer'.
      offline : bool
          Whether to allow queries to the NLM REST API if the given MESH term is
          not contained in INDRA's internal MESH mappings file. Default is False
          (allows REST API queries).
  
      Returns
      -------
      tuple of strs
          Returns a 2-tuple of the form `(id, name)` with the ID of the
          descriptor corresponding to the MESH label, and the descriptor name
          (which may not exactly match the name provided as an argument if it is
          a Concept name). If the query failed, or no descriptor corresponding to
          the name was found, returns a tuple of (None, None).