public function __construct(ContainerInterface $container)
 {
     parent::__construct($container);
     $this->medicalCenterClassName = AlertClasses::getClassName(AlertClasses::INSTITUTION_MEDICAL_CENTER);
     $this->specializationClassName = AlertClasses::getClassName(AlertClasses::INSTITUTION_SPECIALIZATION);
 }
 /**
  * TODO - Need to finalize validation Rules!
  * @param array $data
  * @return string
  */
 function validateData($data = array())
 {
     if (!isset($data['type'])) {
         $data['type'] = AlertTypes::DEFAULT_TYPE;
     }
     if (!isset($data['referenceData'])) {
         throw new \ErrorException('Invalid Alert Data! ' . json_encode($data));
     }
     if (!AlertTypes::isValid($data['type'])) {
         $message = 'Invalid alert type ' . $data['type'] . '. Valid values are: [' . implode(', ', array_values(AlertTypes::getAll())) . ']';
         throw new \ErrorException($message);
     }
     if (!isset($data['recipientType']) || !AlertRecipient::isValid($data['recipientType'])) {
         if (!isset($data['recipientType'])) {
             $data['recipientType'] = null;
         }
         $message = 'Invalid recipientType ' . $data['recipientType'] . '. Valid values are: [' . implode(', ', array_values(AlertRecipient::getAll())) . ']';
         throw new \ErrorException($message);
     }
     if (!isset($data['class']) || !AlertClasses::isValidClass($data['class'])) {
         if (!isset($data['class'])) {
             $data['class'] = null;
         }
         $message = 'Invalid class value ' . $data['class'] . '. Valid values are: [' . implode(', ', array_values(AlertClasses::getClasses())) . ']';
         throw new \ErrorException($message);
     }
     if (!isset($data['message']) || $data['message'] == '') {
         $data['message'] = '';
     }
     if (!isset($data['dateAlert'])) {
         $data['dateAlert'] = date(self::DATE_FORMAT);
     }
     $data['dateCreated'] = date(self::DATE_FORMAT);
     return $data;
 }