docs: def get_annotations(self):
          '''
          This method gets the annotations for the queryset.  Unlike get_ordering() below, it
          passes the actual Case() and F() objects that will be evaluated with the queryset, returned
          in a dictionary that is compatible with get_ordering().
          '''
          rule = getConstant('registration__orgRule')
  
          # Initialize with null values that get filled in based on the logic below.
          annotations = {
              'nullParam': Case(default_value=None,output_field=IntegerField()),
              'paramOne': Case(default_value=None,output_field=IntegerField()),
              'paramTwo': Case(default_value=None,output_field=IntegerField()),
          }
  
          if rule == 'SessionFirst':
              annotations.update({
                  'nullParam': Case(
                      When(session__startTime__isnull=False, then=0),
                      When(month__isnull=False, then=1),
                      default_value=2,
                      output_field=IntegerField()
                  ),
                  'paramOne': F('session__startTime'),
                  'paramTwo': ExpressionWrapper(12 * F('year') + F('month'), output_field=IntegerField()),
              })
          elif rule == 'SessionAlphaFirst':
              annotations.update({
                  'nullParam': Case(
                      When(session__name__isnull=False, then=0),
                      When(month__isnull=False, then=1),
                      default_value=2,
                      output_field=IntegerField()
                  ),
                  'paramOne': F('session__name'),
                  'paramTwo': ExpressionWrapper(12 * F('year') + F('month'), output_field=IntegerField()),
              })
          elif rule == 'Month':
              annotations.update({
                  'nullParam': Case(
                      When(month__isnull=False, then=0),
                      default_value=1,
                      output_field=IntegerField()
                  ),
                  'paramOne': ExpressionWrapper(12*F('year') + F('month'), output_field=IntegerField()),
              })
          elif rule == 'Session':
              annotations.update({
                  'nullParam': Case(
                      When(session__startTime__isnull=False, then=0),
                      default_value=1,
                      output_field=IntegerField()
                  ),
                  'paramOne': F('session__startTime'),
              })
          elif rule == 'SessionAlpha':
              annotations.update({
                  'nullParam': Case(
                      When(session__name__isnull=False, then=0),
                      default_value=1,
                      output_field=IntegerField()
                  ),
                  'paramOne': F('session__name'),
              })
          elif rule == 'SessionMonth':
              annotations.update({
                  'nullParam': Case(
                      When(Q(session__startTime__isnull=False) & Q(month__isnull=False), then=0),
                      When(Q(session__startTime__isnull=True) & Q(month__isnull=False), then=1),
                      When(Q(session__startTime__isnull=False) & Q(month__isnull=True), then=2),
                      default_value=3,
                      output_field=IntegerField()
                  ),
                  'paramOne': ExpressionWrapper(12 * F('year') + F('month'), output_field=IntegerField()),
                  'paramTwo': F('session__startTime'),
              })
          elif rule == 'SessionAlphaMonth':
              annotations.update({
                  'nullParam': Case(
                      When(Q(session__name__isnull=False) & Q(month__isnull=False), then=0),
                      When(Q(session__name__isnull=True) & Q(month__isnull=False), then=1),
                      When(Q(session__name__isnull=False) & Q(month__isnull=True), then=2),
                      default_value=3,
                      output_field=IntegerField()
                  ),
                  'paramOne': ExpressionWrapper(12*F('year') + F('month'), output_field=IntegerField()),
                  'paramTwo': F('session__name'),
              })
          elif rule == 'Weekday':
              annotations.update({
                  'nullParam': Case(
                      When(startTime__week_day__isnull=False, then=0),
                      default_value=1,
                      output_field=IntegerField()
                  ),
                  'paramOne': ExtractWeekDay('startTime'),
              })
          elif rule == 'MonthWeekday':
              annotations.update({
                  'nullParam': Case(
                      When(Q(month__isnull=False) & Q(startTime__week_day__isnull=False), then=0),
                      default_value=1,
                      output_field=IntegerField()
                  ),
                  'paramOne': ExpressionWrapper(12*F('year') + F('month'), output_field=IntegerField()),
                  'paramTwo': ExtractWeekDay('startTime'),
              })
  
          return annotations