|
@@ -4,6 +4,8 @@ namespace app\api\servies\link;
|
|
|
|
|
|
|
|
use app\api\dao\link\LinkDao;
|
|
use app\api\dao\link\LinkDao;
|
|
|
use app\api\servies\ZskkDefaultService;
|
|
use app\api\servies\ZskkDefaultService;
|
|
|
|
|
+use app\api\utils\UUIDUtils;
|
|
|
|
|
+use think\facade\Cache;
|
|
|
use think\facade\Config;
|
|
use think\facade\Config;
|
|
|
use think\facade\Log;
|
|
use think\facade\Log;
|
|
|
use think\Db;
|
|
use think\Db;
|
|
@@ -229,4 +231,123 @@ class LinkService extends ZskkDefaultService {
|
|
|
}
|
|
}
|
|
|
return $arr;
|
|
return $arr;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public function getShareToken($param)
|
|
|
|
|
+ {
|
|
|
|
|
+ if(empty($param['B']))
|
|
|
|
|
+ {
|
|
|
|
|
+ $this->throwError('证件号不能为空','-1');
|
|
|
|
|
+ }
|
|
|
|
|
+ $token = UUIDUtils::uuid();
|
|
|
|
|
+ $this->setCache($token,$param,32400);
|
|
|
|
|
+ return $token;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function getViewDetail($info)
|
|
|
|
|
+ {
|
|
|
|
|
+ $cardNum = $info['B'];
|
|
|
|
|
+ $cardWhere = ['card_num'=>$cardNum];
|
|
|
|
|
+ $where = [];
|
|
|
|
|
+ if($info['H'] == 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ $where['institution_id'] = $info['C'];
|
|
|
|
|
+ }
|
|
|
|
|
+ $data = $this->linkDao->getExamData($where,$cardWhere);
|
|
|
|
|
+ if(!empty($data))
|
|
|
|
|
+ {
|
|
|
|
|
+ $patient = [];
|
|
|
|
|
+ $report = [];
|
|
|
|
|
+ $examReport = [];
|
|
|
|
|
+ foreach ($data as $k=>$v)
|
|
|
|
|
+ {
|
|
|
|
|
+ switch ($v['sex'])
|
|
|
|
|
+ {
|
|
|
|
|
+ case 'M':
|
|
|
|
|
+ $sex = '男';
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'F':
|
|
|
|
|
+ $sex = '女';
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ $sex = '未知';
|
|
|
|
|
+ }
|
|
|
|
|
+ $patient = [
|
|
|
|
|
+ 'BIRTH_DATE'=>$v['birthday'],
|
|
|
|
|
+ 'CARDNUM'=>$v['card_num'],
|
|
|
|
|
+ 'GENDER'=>$sex,
|
|
|
|
|
+ 'ID_CARDNUM'=>$v['card_num'],
|
|
|
|
|
+ 'MPI'=>$v['accession_num'],
|
|
|
|
|
+ 'NAME'=>$v['name'],
|
|
|
|
|
+ 'PATIENTNAME'=>$v['name'],
|
|
|
|
|
+ ];
|
|
|
|
|
+ $report = $this->linkDao->getReportData(['exam_id'=>$v['id']]);
|
|
|
|
|
+ $info = [];
|
|
|
|
|
+ $institution = $this->linkDao->getInsData(['id'=>$v['institution_id']],'name');
|
|
|
|
|
+ switch ($report['report_result'])
|
|
|
|
|
+ {
|
|
|
|
|
+ case '1':
|
|
|
|
|
+ $result = '阴性';
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '2':
|
|
|
|
|
+ $result = '阳性';
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ $result = '未知';
|
|
|
|
|
+ }
|
|
|
|
|
+ $info['EXAM_REPORT'][] = [
|
|
|
|
|
+ 'ACCESSION_NUM'=>$v['accession_num'],
|
|
|
|
|
+ 'AUDITNAME'=>$report['review_doctor_name'],
|
|
|
|
|
+ 'BODYSITE'=>$v['body_part'],
|
|
|
|
|
+ 'DEPTNAME'=>$v['application_department'],
|
|
|
|
|
+ 'DEVICETYPE_CODE'=>$v['exam_class'],
|
|
|
|
|
+ 'EXAM_ITEMNAME'=>$v['exam_project'],
|
|
|
|
|
+ 'OBSERVATIONS_COMMENT'=>$report['description'],
|
|
|
|
|
+ 'OBSERVATIONS_RESULT'=>$report['impression'],
|
|
|
|
|
+ 'ORGNAME'=>$institution['name'],
|
|
|
|
|
+ 'REPORTTIME'=>$report['report_datetime'],
|
|
|
|
|
+ 'RESULT_STATUS'=>$result,
|
|
|
|
|
+ 'STUDYTIME'=>$v['exam_datetime'],
|
|
|
|
|
+ 'STUDY_ID'=>$v['study_id'],
|
|
|
|
|
+ ];
|
|
|
|
|
+ //患者来源
|
|
|
|
|
+ //'1'=>'急诊号 '2'=>住院号', '3'=>'门诊号' '4'=>'体检号'
|
|
|
|
|
+ switch ($v['patient_source'])
|
|
|
|
|
+ {
|
|
|
|
|
+ case '1':
|
|
|
|
|
+ $source = '急诊';
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '2':
|
|
|
|
|
+ $source = '住院';
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '3':
|
|
|
|
|
+ $source = '门诊';
|
|
|
|
|
+ break;
|
|
|
|
|
+ case '4':
|
|
|
|
|
+ $source = '体检';
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ $source = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ $info['MEDICAL_INFORMATION'] = [
|
|
|
|
|
+ 'AGE'=>$v['age'],
|
|
|
|
|
+ 'CHIEFCOMPLAINT'=>$v['clin_diag'],
|
|
|
|
|
+ 'CLASS'=>$source,
|
|
|
|
|
+ 'DEPTNAME'=>$v['application_department'],
|
|
|
|
|
+ 'DIAGNOSENAME'=>$v['clin_diag'],
|
|
|
|
|
+ 'DOCTORNAME'=>$v['application_doctor'],
|
|
|
|
|
+ 'ENCOUNTER_DATE'=>$v['exam_datetime'],
|
|
|
|
|
+ 'GENDER'=>$sex,
|
|
|
|
|
+ 'NAME'=>$v['name'],
|
|
|
|
|
+ 'ORGCODE'=>$v['institution_id'],
|
|
|
|
|
+ 'ORGNAME'=>$institution['name'],
|
|
|
|
|
+ 'PATIENT_CODE'=>$v['accession_num']
|
|
|
|
|
+ ];
|
|
|
|
|
+ $examReport[] = $info;
|
|
|
|
|
+ }
|
|
|
|
|
+ $return = ['data'=>$examReport,'patient'=>$patient];
|
|
|
|
|
+ return $return;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|