diff --git a/osm_mon/evaluator/service.py b/osm_mon/evaluator/service.py
index 9049d95..ae6191b 100644
--- a/osm_mon/evaluator/service.py
+++ b/osm_mon/evaluator/service.py
@@ -54,6 +54,12 @@
         ).get_metric_value(metric_name, tags)
 
     def _evaluate_metric(self, alarm: Alarm):
+        """Method to evaluate a metric value comparing it against an alarm threshold.
+
+        Args:
+            alarm (Alarm): the alarm with the threshold to compare the metric against
+        """
+
         log.debug("_evaluate_metric")
         metric_value = self._get_metric_value(alarm.metric, alarm.tags)
         if alarm.alarm_status.upper() != AlarmStatus.DISABLED.value.upper():
@@ -61,16 +67,32 @@
                 log.warning("No metric result for alarm %s", alarm.uuid)
                 self.queue.put((alarm, AlarmStatus.INSUFFICIENT))
             else:
-                if alarm.operation.upper() == "GT":
-                    if metric_value > alarm.threshold:
-                        self.queue.put((alarm, AlarmStatus.ALARM))
-                    else:
-                        self.queue.put((alarm, AlarmStatus.OK))
-                elif alarm.operation.upper() == "LT":
-                    if metric_value < alarm.threshold:
-                        self.queue.put((alarm, AlarmStatus.ALARM))
-                    else:
-                        self.queue.put((alarm, AlarmStatus.OK))
+                if (
+                    (alarm.operation.upper() == "GT" and metric_value > alarm.threshold)
+                    or (
+                        alarm.operation.upper() == "LT"
+                        and metric_value < alarm.threshold
+                    )
+                    or (
+                        alarm.operation.upper() == "GE"
+                        and metric_value >= alarm.threshold
+                    )
+                    or (
+                        alarm.operation.upper() == "LE"
+                        and metric_value <= alarm.threshold
+                    )
+                    or (
+                        alarm.operation.upper() == "EQ"
+                        and metric_value == alarm.threshold
+                    )
+                    or (
+                        alarm.operation.upper() == "NE"
+                        and metric_value != alarm.threshold
+                    )
+                ):
+                    self.queue.put((alarm, AlarmStatus.ALARM))
+                elif alarm.operation.upper() in ("GT", "LT", "GE", "LE", "EQ", "NE"):
+                    self.queue.put((alarm, AlarmStatus.OK))
 
     def update_alarm_status(self, alarm_state, uuid):
         alarm_data = self.common_db.get_alarm_by_uuid(uuid)
