public function save($id, $data, $langId)
 {
     $tmpVal = array();
     if (empty($data['MR_Diseases'])) {
         $data['MR_Diseases'] = 0;
     }
     $tmpVal = explode(',', $data['MR_Diseases']);
     $oDiseaseD = new DiseasesDetailsObject();
     foreach ($data as $field => $dd) {
         if (preg_match('/dd_[0-9]*/', $field)) {
             $diseaseData = array();
             $value = '';
             foreach ($dd as $key => $value) {
                 $dId = explode('_', $field);
                 if (is_array($value)) {
                     $value = implode(',', $value);
                 }
                 $diseaseData[$oDiseaseD->getForeignKey()] = $data['genericId'];
                 $diseaseData['DD_DiseaseId'] = $dId[1];
                 $diseaseData[$key] = $value;
             }
             if (in_array($dId[1], $tmpVal)) {
                 $oDiseaseD->setFilters(array($oDiseaseD->getForeignKey() => $data['genericId'], 'DD_DiseaseId' => $dId[1]));
                 $exist = $oDiseaseD->getAll();
                 if (count($exist) > 0) {
                     $oDiseaseD->save($exist[0][$oDiseaseD->getDataId()], $diseaseData, 1);
                 } else {
                     $oDiseaseD->insert($diseaseData, 1);
                 }
             }
         }
     }
     if (!empty($data['MR_ExpiracyDate'])) {
         $data['MR_ExpiracyDate'] = date('Y-m-d', strtotime($data['MR_ExpiracyDate']));
     }
     if (!empty($data['MR_TravelInduranceExpiracy'])) {
         $data['MR_TravelInduranceExpiracy'] = date('Y-m-d', strtotime($data['MR_TravelInduranceExpiracy']));
     }
     parent::save($id, $data, $langId);
 }