code: def get_wide_interims(self):
          
          outdict = {}
          allowed_states = ['assigned', 'unassigned']
          for analysis in self.context.getAnalyses():
              # TODO Workflow - Analysis Use a query instead of this
              if api.get_workflow_status_of(analysis) not in allowed_states:
                  continue
  
              if analysis.getKeyword() in outdict.keys():
                  continue
  
              calculation = analysis.getCalculation()
              if not calculation:
                  continue
  
              andict = {
                  "analysis": analysis.Title(),
                  "keyword": analysis.getKeyword(),
                  "interims": {}
              }
  
              # Analysis Service interim defaults
              for field in analysis.getInterimFields():
                  if field.get("wide", False):
                      andict["interims"][field["keyword"]] = field
  
              # Interims from calculation
              for field in calculation.getInterimFields():
                  if field["keyword"] not in andict["interims"].keys() \
                     and field.get("wide", False):
                      andict["interims"][field["keyword"]] = field
  
              if andict["interims"]:
                  outdict[analysis.getKeyword()] = andict
          return outdict
docs: Returns a dictionary with the analyses services from the current
          worksheet which have at least one interim with 'Wide' attribute set to
          true and that have not been yet submitted
  
          The structure of the returned dictionary is the following:
          <Analysis_keyword>: {
              'analysis': <Analysis_name>,
              'keyword': <Analysis_keyword>,
              'interims': {
                  <Interim_keyword>: {
                      'value': <Interim_default_value>,
                      'keyword': <Interim_key>,
                      'title': <Interim_title>
                  }
              }
          }