code: def get_overall_state(self, services):
          overall_state = 0
          if not self.monitored:
              overall_state = 5
          elif self.acknowledged:
              overall_state = 1
          elif self.downtimed:
              overall_state = 2
          elif self.state_type == 'HARD':
              if self.state == 'UNREACHABLE':
                  overall_state = 3
              elif self.state == 'DOWN':
                  overall_state = 4
          if overall_state <= 2:
              for service in self.services:
                  if service in services:
                      service = services[service]
                      if service.overall_state_id < 5:
                          overall_state = max(overall_state, service.overall_state_id)
          return overall_state