/** * 根据疾病的拼音简写,得到疾病的信息 * @author gaoqing * @date 2016-03-23 * @param String $pyInitial 疾病的拼音简写 * @param boolean $isRelDis 是否获取其 相关疾病 * @param boolean $isRelSym 是否获取其 典型症状 * @param boolean $isRelPart 是否获取其相关 部位 * @param boolean $isRelDep 是否获取其 就诊科室 * @return array 疾病的信息集 */ public function getDiseasesByPinyin($pyInitial, $isRelDis = false, $isRelSym = false, $isRelPart = false, $isRelDep = false) { $disease = []; //1、得到疾病的疾病信息 $disease = $this->disease->getDiseasesByPinyin($pyInitial); if ($this->isNotNull($disease)) { $disease['chuanranxing'] = '无'; if ($disease['chuanranflag'] == 1) { $disease['chuanranxing'] = '有'; } //2、获取科室信息 if ($isRelDep) { $treatDepNames = $this->explodeStr($disease['treat_department']); $disease['department'] = $this->department->getDepsByName($treatDepNames); $disease['medicine'] = $this->explodeStr($disease['medicine']); } //3、获取典型症状信息 if ($isRelSym) { $typicalSymptomNames = $this->explodeStr($disease['typical_symptom']); $disease['tsymptom'] = $this->symptom->getSymptomsByName($typicalSymptomNames); } //4、得到疾病对应的所有部位 if ($isRelPart) { $disease['part'] = Relate::getPartsByDisid($disease['id']); } //5、得到相关疾病 if ($isRelDis) { $relDiseaseNames = $this->explodeStr($disease['rel_disease']); $values = Disease::search(['name' => $relDiseaseNames]); if ($this->isNotNull($values)) { $disease['reldis'] = $values['list']; } } } return $disease; }